From e09d7a8ee0b9064f02fb4c0b54bb3b7bf43696b8 Mon Sep 17 00:00:00 2001 From: arnaud4d Date: Fri, 12 Apr 2019 15:54:41 +0200 Subject: [PATCH 1/4] New Project pages --- docs/Project/exporting.md | 40 +++++++++++++++++++++++++++++++++ docs/Project/overview.md | 20 ++++++++--------- docs/assets/en/exportProj.png | Bin 0 -> 20666 bytes docs/assets/en/exportProj2.png | Bin 0 -> 5928 bytes 4 files changed, 50 insertions(+), 10 deletions(-) create mode 100644 docs/Project/exporting.md create mode 100644 docs/assets/en/exportProj.png create mode 100644 docs/assets/en/exportProj2.png diff --git a/docs/Project/exporting.md b/docs/Project/exporting.md new file mode 100644 index 00000000000000..9cd8e7958b33b3 --- /dev/null +++ b/docs/Project/exporting.md @@ -0,0 +1,40 @@ +--- +id: exporting +title: Exporting to 4D project +--- + +You can convert an existing 4D database (.4db file) into a 4D project. Since the export only creates a new version of the existing database, original files are never touched. Thus, you can convert your database as many times as you need. + +Note that the export is a one-way operation: + +- once a 4D database has been exported as a project, both versions become independant. +- a 4D project cannot be exported to a .4db file + +## Converting a database + +When you convert an existing 4D database to a project, the .4db file is left untouched: a "Project" folder is created next to your .4db file, and will contain all necessary files. + +**Note:** If a "Project" folder already exists at the same level as your .4db file (for example if a conversion has been done already), it will be replaced by the conversion process. + +To convert a database to a project: + +1. Open the database to convert. +2. Select **File > Export > Structure to project**. +**Note:** This command is only available if the database is open in classic (binary) mode. +![](../assets/en/exportProj.png) +If the conversion was successful and no blocking errors encountered, the following dialog box is diplayed: +![](../assets/en/exportProj2.png) + +- **Reveal log**: highlights the conversion log file on your disk. Reading this file is highly recommenced in any case since the conversion process could have modified some parts of the application (see XXX). +- **Open project**: restarts the 4D application and loads the converted database as a project. + + + +## Check your conversion + + +## Compatibility issues + +## And after? +### Copy, merge, +### Rollback diff --git a/docs/Project/overview.md b/docs/Project/overview.md index 8b01ce109c26ca..73339b3881033b 100644 --- a/docs/Project/overview.md +++ b/docs/Project/overview.md @@ -3,26 +3,26 @@ id: overview title: Overview --- -Developing a 4D application can be done in two different modes: +A 4D project is a 4D application where all the development is stored into several text-based, human-readable files. -- **binary mode**: all design elements (methods, forms, structure...) are gathered in a single, compact binary file, the ".4db" file. This mode was the only available mode until 4D v18. -- **project mode**: all design elements are stored in separate, text-based, human-readable files. - -The project mode provides an alternative way to develop in 4D using a text-based rather than binary-based mode. The 4D project mode combines the power of the 4D development platform with the versatility of lightweight, distributed work. - -Fully functional 4D applications are created from end-to-end via multiple files within a single 4D Project. These files contain everything from the structure of an application, to its code, and even the application’s settings and user preferences. +Fully functional 4D applications are created from end-to-end via multiple files within a single 4D project. These files contain everything from the structure of an application, to its code, and even the application’s settings and user preferences. -Because file formats in 4D Project Mode are text-based (JSON, XML, etc.), they are easy to read and understand by both new and experienced developers. Their compact size increases opportunities to work collaboratively by being easy to: +Because file formats in projects are in plain text (JSON, XML, etc.), they are easy to read and understand by both new and experienced developers. Their compact size increases opportunities to work collaboratively by being easy to: - Program generically - Customize code - Share files - Create templates -The flexibility of developing applications in 4D Project Mode is especially demonstrated when multiple developers need to work on the same part of an application, at the same time. 4D Project files are ideal for defining modules and storing them in a source control repository (Perforce, Git, SVN, etc.), allowing development teams to take advantage of features such as: +The flexibility of developing a 4D project is especially demonstrated when multiple developers need to work on the same part of an application, at the same time. 4D Project files are ideal for defining modules and storing them in a source control repository (Perforce, Git, SVN, etc.), allowing development teams to take advantage of features such as: - Versioning - Revision Comparisons - Rollbacks -4D Project Mode is a feature-rich, robust framework equivalent to 4D Binary Mode with only minor differences between the two such as the architecture, administration tools, and the approach to working in teams. Creating applications in 4D Project Mode, whether it’s interpreted or compiled, has no differences for end users. \ No newline at end of file +To create a 4D project, you have two possibilities: + +- create a new, empty project +- export an existing 4D "binary" development -- which can require adaptations to handle compatibility issues. + +4D project-based applications can be compiled and easily deployed in single-user or client/server architecture through compressed files. \ No newline at end of file diff --git a/docs/assets/en/exportProj.png b/docs/assets/en/exportProj.png new file mode 100644 index 0000000000000000000000000000000000000000..f4bf06c7b1009c4915835e579a8677679d53994d GIT binary patch literal 20666 zcmb?@cRZZ`w(cMz2+~E1B!VCag6K6wZ_$k!ozZ)bAc-J}I(jdI(MOCH5fMfoWAxES z7rk>|`R#r7-uLWt?>V1)|41<(@67vtt@W&DJ?mNCtENxMVG*A_W3f#E_qu5d&Y7I=|F+1A!>NU;H7s z{a7&=c=3k&3q5x&Co6X^GgnKHysM=p#LdRZ-B|kyaEUsPf~?dlZ{xLzAZL1f0RE85 z7OzRx`xU8o$p$r^%J;B*?o*_Uk5t>pV7QU#gLP=#2aPK^hU>;5J<0GJ?7?ZUo9`{b z;Ik~LMc54jfmh6Mhiq3RL$j=FPSTcamu}e%L8>2ql9~Qx#wi&k$aQ`Vq&Uej{3WeQ zWpdkHLJZB9MAHQ#D(~M8)ZpCdEvUCXYOihX<>M1EPWC%ckLgc))8lBg(ABHh66!9QU!Y_ z$fiA$H$HCyfy)*jGv#b6oVL(W@mDQ+C5rFo?riq149u9UWCV?O69R7~^$JV?3LZAF z&eY0Ab`}qj!I0tw=ZkVgAdo{1FJYSCj(kQJqW^Ga1>!En0y>(zeTvS6t=JEs5Gqt4 z&^IP^7rL~dQ?>C$=`&QrdKghoP@qOF4vA+0-rb>8#U{tiK!)q_7V>;Mqiz#;G{a(K zNKbo8wHkF19Qc;c>hm9aB+$))voU$+7AE;By%Hz5v&Ix41j=g;G}JDhHlS%_gop2^P)o@F4#L51m50gEzlDoM^U9zMS9mqZMp;j0-3KUj?z zgAEplg`=XPAlE>M=CCkg;0W)HUL5LhC#m~AQSb6R;7q?+JFew$=z874Rs5Ulca+5<+EeYzIcX$$}iJRolM|P(*pOZGU|9h zb{d!XgiGyIJZ!Z~h%&7jc83g)R;?w98BZ7GA!w*>j-#c& zPD-CCAa*zxtN7@~(Rb>m@+?ylQ1*x%Ykv-3M_?M4j&A%tjg-=vEu`_tT(7JX_%V5$ zF2)ki`r?uUhjni{^DsfV*=NU(<2<7Iug{kV*Ibpap?TpwBezRSk|4^o&-gs(H-;9q zsk@Yov|-w`%?sSAO#)o}%ngB{u?PxJ&$ZD!a%!%xJRo)Gugk(LgZ;ntG*4xGph-Jo zdCyAE?j-gv(PDNQNNsMY*r`lx!|GY!`GY?BXgOi4=bUtS_j^oz1c(%SEZk?!16f}` zaTipm{FaCzCr6Eln2yEEzRSw(4diRfSC^=RgTv0{)qPcmyfl#iln5~!4@X+)T@Ax5SgE_GKNws_9zD*>G{VlqD=S%@Cgzu5O7boIMcFc}MgjU- zHQKh@+C0{Fmr9Y^5i?ZMy_cH6Seq1_Z)ub!RfA1>mPBgP#k<`;aR55i0BagnmM zf{G`yFF%Jv_zE%}5MI;9!ol04EAC!i^%wDJLo9538&e2hC@^SXFU{S%t-PD-!9DLQ zHbJ{h%To_|-hA)sH&4^hRPLZdl<#yHb%THisQlh_)Z(K-w|v7Ku+$hWN=JTIi722m z{0SP!g#n&vPcb08?4G>>6Pt=u>eIiW2Vt%?!iuBK${ba6^QBx8pCPhWMqxD z_6kz&KNb>LeUnK^;pgaSFkYFzlE+M0J~2GCFrR3`@(V~t5i2XJdjbLizC={_M1P+_ z;?qR1H?2q1)G1)L0w>qqLB9<2^!k4Mc$@A$L(0$3zf@F^?y3bEOkT7EU=aj+D+yra zk0F7p?!wO+q-$=2KzejE|5Pmg2cgz~)t$w+s#zR@M0~DJDIZy-3b(@A*DszN948 za#$$t)fPg!Uw#B#9_ux9YRu~e!0)I(CUEX2=-ZL(lRgFe*UqmdET(aliiP-@;6aJ% zFoFoQi_wJQlJTR^x0DpUl!YEU%R|jv-&p*%I#}ahKH3T6_7AxTI9ZN91rzjvdu_DW z*J;U_Bw@qQ;8x4WEOLW7g=DO03?{nNuPy$>X+`h(%(a|CcsXpy;2h=4S$Cd+i z58W4I=Ivg#uh7d*JhP}GzHQ?~4X{U*>dxgAvIK6Uh2=wO=`s4iC^BxXjzDTC_2Ze< zk*Z4~Ab}^o+PbAG>?f^r=;YpUukI*6b)-$Pvy~$PUtOHcBe<8~;$a0#&u!`I9(}?W zB&x;C4}K;y_lD3S>U?E)ZGu z`92AVu)i3&e0Oiu!`%n-C{X+TPaSu$0=q)(4j&0Vb?T;(dbNigfvduLfigv*l)FAE z+H!GR1_;s~czuj-{pJ}vwu+NMcybLEK-NPCy8)wng?1<`Rg%xRJXm%|WNoM63shOf z82SQV^`QaYmOvVS(@+W;(8k>!*?6-}7&h_;HYU|SZ6B?att{-J^q((SQe;wz2A=_Suj2LC!s>7Z zdIdDd1qVRuKH}bzAk&!1oy);?J~QuG8=Ci0KA$hn^PFz2iybZElnT#H81{b>6^f1h zX1x!}e8$~(*qJ2WaLi9)5oKA#UNzrc%zF?`hvSV;%+n_ocxm+B>BWA?qQ z5dhN!9`akoIq)BT&g>9X113igSg{*;>>Z7TN?|Qrh3V`YOZj}nkUbIsgF95!GGeq> zpBtf$Ch_l$tD*tUcWZcxhp(SbINeXhcJkMZWxo92o%B0TO!k_rM@~B?(g;^-=F3L$ z%jKI2T_j1Q0@xy`nNLp^$Ikxp@AG(bt5xtifYAm`D4A_bfH} z>z2Gyo{X_XL<9a-9~&mb5egyEyEVxQhEyS^M8=Fc11VpwsHQ4<2PGz zqLk!~xWN3J+S<||erCA#8T1>vz?mfKr6it1GDhpBhn8OSy8G_Us?i_)mUqs+-B&T*E=r@{}7T?iJWAZX%*GgB z`PAL|wtU#oA6}<%Rgrq_SylJ4L>g4b8LBc)9jCtY{K-k+*gikTy}yC6)he27ml&b}ejTE?egxm&DX};uT~ku6zZ6Ys*ATGU zx49m-?$f@f9p%YbcCyPJ8|kJjkGZXm%BEga?oClLr)fAk>(lbembXSuyujpl$=AEm z-KgIqm_!!_d|2b{&4=DPGLT+6R-RQob~lvnKkSN{$#&c@eOo&MKtE=m*phAkd6x~R z5pirsa&=*l?<=rz5TtKf*O0+2L|a;*2rW^~E>USfV>!0v3s3p>!|&P^HFAasfo+TE z$J_^nvNS8b)#wT-71xYfakrO#7`K!WaaL0q`tS5WEO7L76tfrz-jp;FRD)4_2yc8J zOLI)Jt#?gVY_z+YXk1IZr##!EPf>kTRie4>zo26W--Xxy;>7@mSYXheH9skFF4hfX zRIR@yEnasQNP#%9`GDbv+J-7OW5e(s&qso!j0z-LCe1KEEyqutwW zGB&s;l#tj#Dh%T1FsEVI-tqYmFNCU-z#rzURqf@Q3|w;Hrh0 z^vW0*KJ}x6GzxmyH5-+rweAKyBC2aA-&$Q~6E<^%!IU}Z4Bl(bIbFte?FofbI30Kk z1utrYJ+4|0thU^QOxP~z9kBJIrvo0c^JQSI+K3-P+3z2_rw-C=R8^jxkckPE**#h% z)h5MUFvgv?qx}U0ZvBu7v}!L0v}17ClLR7UXw`pMqQi_oT~!7@f5(pK3g07M(b;<5 z<=2cdFaD%ci-Ud@h7Bp#Xn)f&x!u`x%g|}M5>uhJ4YjCivtRL;I3GU{*8Un8)68wf zdMfbpo?-N1)%!I!QLb-UQIzUq|LBT9^2p>8+)oIcPn0MOsFx@V`rU8h3^0g?|4&WQUsU(Svp)Ty!QVn@B6#F9 z8{bc4F$X@Jf1b*L(6C7#7Z31$?ABoUNV+1{q|}kCAk`6Z>Q$DsR%f1Xx^i2jeMs|c z(|NyBX#U=Z7ttXP+c|(n5$H(f*(fsT22S_3g@YzNdS4cC*545*G;^u^7Ip%MD09`F zX~J&bEx~#Y2YSUeGV#~*3`;ZjRxCH3lTZrSud6Qp02>cvC%B8mbNc((YEaZOddYy) z0|1$zi{f{@!kUneF)QU)4V_aB1_~;tN-@7UH=e!m#+pFEo38&~eSyDRI5|=Eu)8c`_Zof>%Kp>QYH-p}aArZehK3Vyqu; zcRsF)=J$BDzm{XuQ-LtP^ynz8a?mqceX>X z%5BOB#>B|=(Cf(pqPIJL4!Z}vhlT%glDL=l1+SO2kL&$yRA*i+7MaGk=g;x9RJ=$A z$tkh07n(fLad{0|Kf4ehzn{2Q81kIt8_Ne{jCLy|KJk|T_0)s&jzOiy{TlntN~Jnn zV^)V4E1#{;c?YH^$S~q){Dd{HBm3}>NO)MZKzV3llD>;sWWS|K-6v+{?UJod=;+!( z7gJT8i?U*`_cp&h+s(Ie!x0U(y-A!&+X-y#p142 zRee`d`kRB^?U`Z%)HQQy1p+AV^6$K;ed?f1>Z988J=}84*<#EeI_VqIGZ5gW@FY|h z$LPyjDgoQG^3teb+pa_TKuMYdg7yVY;&Xo>s|%V>XI7G@UYB=Qp7|pV@i$z zK54$EY8!t%IQdB|!IhE;tBQw{+9iW!jWR?ZO{n#YlYC2frzclnEI-zLb7~&rD3-s) z-L*?Gn&Z6tu`a839wAmJFK9L( zr!e7+PAFih(w4BV?%#ajeY|-^+c{c0l-gOX^IkY~E=o*bfrY=WW6iA)NoX1{wX=i{ zIsg>4VLI=F-&y-!#Q971XsjSkBo}wY+Olbf-9$n*Y_WVoc$3|R_NIuOg<74P@8- zZ^-;2|MkD%)W+OgT1|BGZE|w*&Y+gs#rIQuz8tKVy-XGih)DMn4hC<705$V39qFH5 zzc}T;G}Ql=;`ESq@rk|NL26H$+r;lU8jA@`yjyGX7Ks36g2Sp&cO97}>3tej+s2hx zuNQK-T2?#;O(=NQ06!f;VhLh2E4EEJS46~z#1}ZU`s+ZTlt;cH(O%n({{*3>4R?|q zlZ+g6wr5_qQ6CVIr0{#OR#%{u3?xjA8G`?H#-8oTKmn0{YDf-7;NR00qB zI9HO&92#$@k%P(=9^P3@Vjb3Hslm_rq&=UK(`UK=oc7-2YgEzLKo*m*>q{Z(`AX3y zLyAZxD65m(ITf36~YWKXBJl zkBG?l1U?^(@A9OIU`&%46Bn(SlM{Yn95D_HZ76W5|0r1T%RWrLV9v)B*N#d?e_@H} z@>^&$JM;6K?=1JBie$uUwbBVKke3Ro=dOO}AqEZ816`-xaOu{Kk%jLfa}vA0wx>;= zoW`DlTlIp^>hP~w<~Jm6j~zO#sAr^{=RVVaOycCkyRfw?_Ikmn5T#ufE~d1eg)#co zSV_5Px}BZS;8+h-mQZ$j6g1`6X(;44x#pQq>%=wJ{auS{|lD^~0Y6 z4EEEf9OI>0uw*et{o7N)s!5@>`V@Ax?XC+Hh65KE>*t;Qt3q2^zumuLH=**g8vzK$ z^e-5?{4W?vbNvECpV?JWCw5oavV^727yOQ0xZ#LFiBG9c>g|>oXtI1Or`{5yFxIz< zZMdJ~o^r|UrqGP%A^@mf>*1!gjalH9+@qW|tK_Pol_?nI`lS9~*4~t@*egr*#hULq zy6Zll`qjUZJ&s+Y8<-nN<)Z#IUV5CwowK@|K~A^d?G&h0)^r3rn^Qac5k;ULnSFb4 zxS%6kC~S-y9*O;hwGub(sQ)dnl8Z9(o`4k$)FXN7a`QSKI0=nWK+W9pJfZQtb)Z>z z-6z5ND?f^Fe9h>*eAn>7wtJwi*PU+k4uOaRBvVN3cbhSXC@)5s>dF3Dx&*FZFMM?~ zLu^OTxvNYcv3aF8tRN%Mpm|%QImbF9VCdpT9wzh`Vf#I|FL?`Xgxjan7i^UwFR-_- z`&$>EP~sRo>&&L?Xq2wn2K^9n_6DO(a6CBD2N(Bh*%R@*UiLeGmiTTgQgjJRc{uAZ z_Euqgu0C3T)N>?HftYFpr4>5@EB;azdhQ;09IwFXtG4Rtt>Fb3rxI&9b_H(L{B|k{ zopz~3Q<7ZPVV4)1pr$?a&YKg}CAL6b`F#A$2%6f~JokrPbm^P;{ZM!4o*Cz3` zr-!$FUAxcEqU*gD20u}Q4qBvT5T#1`Czi@)fkQtm##oXhR_tO;5vRF9vsGiKAL=|_ z!{FnAxBVHeZY+(6W|FA&czU})c#a=|f7g6x(%lj*Z`aI{YspKRD)RC;PV0<5G+*H~ zLI5o@A?TG=J0QZh{`@KDG}RJHGKnj#bhF->c>)^4{acX(pqhUTc>cY#{ugWfZy_Vl zqDwdD2dt0Z*4|2)j;|}`@ML%qcN`N=xwKvi%{x@B?N4I6{Us_~ zP|38EJz{7IH7L(~;qR{_m2UK)>^qB3)NBtb-M3DB(rUpt2&dz+cDWQqWGpdPpO=S) zYsYS)X6ZN6MnvmgeF~nTXe3JN(umu}_^0*SdbeKB-j{3}C&e=^mGk)L!3F@|!>1h^ z01(kWk+~eRyhwm;R@htp3@O-xPkC+F!0UVr$CGlJPj`h!?IAX-lt?q#7*aVC=wNy* z-s7QvljG0B{VP2#pqe$J0=0~@R;r+b*2!#;*eOt{K5&iAC#4eBz>qBL zrSImehV$hcX4$^v&^f+4cYG8{ed41v9nirx>(O}pxepPMpXVvC*nB!v*}U!)vDeYP zJjODXF=A8Sh=Q5yicftuY|3l?diLOSlrL;vyL&UD?iZ|<_kz{>?El4Tc~ERn z=J*n?)^zE4F$eDLsTawp7XJv~@n3mu_W;+Iuo)SjnS|DbD zFzqqSrymPAzD_#*M2XT*^^Ume9WM!s$&H&<(TcYu+6hegWPfYv!eOoTpToJ{LN9;Z zTN)5@?z<%B#Va@?61gU9UWP<1JaljxmVvj-&I@r)1huCWe_O}ovKr#$MqU$uQ?UNGXk&U_G6ES!J(`s$L zEUH@=Rw{*Br^TOZVs;YC-&2n+uk{mwFLQD817U-te+6AUyA=_0P3u5VHRJt-1Kr#y`0An*E3MAvJ zvf;t~^w{N^7E}n69X2<7^+0#sUX3Nk!h7VSQ1_b9T{{kEN!Fv$JcVY4U~FkTW9`aQ zwM?ifn|#HV!|`2R=4z|63GUYX<;M9&0Y0hY%Y19OK{*v@V;;X(E|^}Rxe+x$e0X+p zHoAVBZK<&(o}QJ!P)s}XRQ1n&bo@KwIFw2-+_cIHKU*$4>pZU3*3yclWE5Zh7YX%0 z#_RtrYWSZK^LC>oem#D*j5VV^+ck*8hiToIZKt@)%VU1LJU?OkI7Hr7U#qp{(Cnfk z&!=Az3CD^H4w*&vY?_?3nG9OQh~I)^3_=XMD%K_@dz721n^v(W@)t0xP!i)K zGHmNyEx*ofO7J&)cFXDWC3?}xIH?0DSF5Xl#5Ub}3&eW9P&+71L&R!@AQ5#TUNgOJ?gPtmqb(s~?H z7q~FK+?}d4vi->KgTvIgUe)TSzh`>SL{VRXpaWe9GyiI!Xe~hwR;MMUWww^_YZhJY ze&J~$x!W>bwY*zcaWUaV5zGPytV^$Y?adhFrI4y?!(jpvMCSJh^I-uEkcB#pReF+O zl^Yd5e_bT9;K+ZK$ZI4E&ua0eg$&;b(iZI#rPXo|am40h+t21+2R}*4#*^N>?lC2s zk7RW-YJSMvNOT@dDL`#^%jiR?w82DRL8V*HurGNcc<18NDlM$67R)Rxas+=*wGeG= z=#13yA^ELAh%&&gGST3p<+s0%IXgX$S7w>`|7s@yx~6eV{FE*fth-0W12_-n-kZu5 zNUa6nJ-Nnv2NpUb3VXW|3PQj$^Uf242?@0u%1*c<4cKOcWkvex{N&vz zBI1BThSH+#d1XJM+*_F+z74BgH}0kAx>M@UprcAmqC&x zvQPV5q#`J!*XaijCv$)i(#_1P6GK_bH3`pzm>C?MhQ`wzf?faQz#4DZ0+ptWlEL`t zM~O*g8%h{TmEIXm0FtDat&LJOsi$37|N7)(g~OXz=WFghs!IE~&Ei_#?TNnvdQ-9D zP>e!2PT?ltcl!DPg3&(J5JNZJ?fkCSExcrDW`wsirCfZM;^bqe85!|~i|F<3WJVBZ z@Wad6{vwG{xL9o2LB>0nQ{TPrd1CRVqqzr5dlVC28|ByJ!AV-?X9M3ezOxSjmMBE1 zjiB6KCI7%22f}3&2#zWu8Tj>zr8hrYcNG|TrMkz{L#^PF?+@MR`&z7MnTSBwTCg|D}Z_W+&w{4w%zoNkDY_ zKW?gd2OV0y1`z}j5=yRKTLfLXW_w|Z`X505izj_hbtiDzvNU+?sEY`5XHIWms z-d*ksZoCN@FktaLwH%e3a|E9~70?I9XIcC3Rct^&`)}DY{dQQW1rt8>Iz68;)?RU2 z?hZGfST^E!brev?u~eWGrZ+TcIuu=SU<|ea-+wfIP(%rQ>|;=Nj(`cG)~n?}~N-Mjr}1@8LaG9MC5TGsKhE0?Xi z4acs_BtE<2aPAPhUg|LgcuE51ktbRe-*~=`tdIm#WG=%BDJfDwxgI;Px;UpwV00Wm z&{zq%Q)<`w-exPJLTG?iXre5)u7%3$t40DTq3`!r?YO^B!)Tjz@~*Ipl`ReBJE%9n z*Kpr>bmMo4Bo7g0nX%`WXzult>ikmp>8&<N{Kr!S*ziJ!LiT}9SE zgW2xZUYaHAt_^=*OuHr?8(_}$HK=aIj*g~-&XfG@9$<c5Q8U6vw7;R{7t2IxQ)# zS+n=g`MG~IQMDELxb#%K6}sB^vi)O+u1#aeKW1PeBxLEVXH6v@S9L5;LF$&*uey)F za1#@pe*a*XwVfA3Hp1$pwUFuFAI-QjeHAI$kcKIso$4|iX&{+^~hqU=gRh+Z9^7hMj=sWtb zn9x-0cobU-MadxBP5c2tEsa6iAlrXTyV#rqOFh!##4igr1%e8jegVn1$dYQKxniRm z@-d2SJKMh1JmWD6&Qd9Dd!)>ycznxHT7Nri&kdmvDx{z4p@`%2yF;1TRki1@Zd07d z@cULkn)<+we@KZUTNYOINi4su#`#Vmvf*qzrOCw6ql;LFbR<{xT%ATk>aXe5*lZ7i zf?RFvm(PrY4RAsMn|3*~{K-cBFVeW2UBDz|$cIG%d!0_)Q&73MDq5ReYyG_O!|x63 zmA01VUnrJ(1a_*ySuZO_%d|Lu75^N+wtsZoF28r$*`$4wb~$6H+VScJVb~qM64%kl zQhm>N(EV&7N%`VRt)3iX3DDd~c!;XB%5>&8gp*5S$RGa!xeaWlz5l5p#cR3@q+NtF zlOi{$Qj9oG#3V`3eZ>i&iCweBX}7pdRYa`pHH#KHYjy%6{r{!06_S9}t))!59=^)>#<(p3lmEGz z?h**Z&-xEca<3v%^w>@Q1lV#jUHjok#Z@g$wh1N zT$if{Xl*&PC+1;48b}Yd4W`Yo5+;c#&L zP-hZSo&@Y{9-4Y5%Bu%y%R$CzKD>mu&&TN{eckFbbl`=qNB$YQdYb@bn)1P$E{%mE zyo&o~BbPlIFhD9U+0$mM4?*v*#af?KGhT|nJ?q_d#J%^6gY&`+gidA!9EYZc7uQ)V zJ9vc1`N{^G|GX^qC#KmPN8L-4jlFWeT$p!&XB<9hGarMrBS0v)FOjL{8y#%TTiFd3_8}AG05g zI=UPD#0dFKIDH)dE3Bd=F2X7&R=szZhxyphsAg#S=P!mI08W!@Gt+oX45;n4& z6va^_js7tLgECoO)GxzkzarxY#0c*ImS@U-N_Q5xU3HCC`y0j)<(NWFtE+ogn`2uC zIgz_Wpy0>vJuO~)6go*RONeDxFEOUq5OD^^e_3-lvdR|Z8z0CRgx)hG#sF9~{qxsZ zWf50xD)w?aqMa@G7htmghN${Cw0p+oPOzh`nVFQJ)8yb}qhC$Xc_4GFf*`SE>4O2l zvh;s5=>F%>*nQbdbGTNE^9%r$yIf3c_7k1tE?=7h3{5{M0pk?tGvIaqpV)$R03$Ey z?$B=Xxf6+};U7ym<{2;cJYqt%cai(%^%v_9igu}mVK(wSIgLcGBU=^ZYQp+QFN{j6ar9Y zepJP08P;h_SBIB70_>#o$EeXt-Nahort)#ilYlEuImJVU7D1hU-Gpt}Iy)T>>xr?v zrEDKsLzO2xX)ou%CGZH_bZ+!HhivKe;-frW z6YJ88M92^>!(A17XL0Ar`fWq{@4)+Ch1br!=M_SUa~=Rd^Bf4#S*ORHYbGuqH8#|VK3k`jxc z7|CL~jI!~=hoxhV%_};VO+b7^-vvCKfS0k7`~uZI^ij|CZClK0l+z?4+N&N0)usqj5rTI|a^kCntF(0)0%+Bn4IB;& z@bO)*?Y25OgiV;)M>6cTv5ua7{ zgRTL49pckR{=mKkf}d{j680&mrrVfmi-_T`&Pa$Rt!(l%^Y61`f^SDBIaIm4Gz^sk zl8#IldmeUVf6Vw%jAy?ijy7Y0N;1xN3XBsH|9tAtF{kEIK=;Lxdj_6uXWYEl6*>6o zwUOR*Jh5SCY1xKa2HGW{Rl33}ywQ9fc#BWCY)LJ{S2-YST@B|P3%b9>GDv+=*}O7p zqFir#owpzFWO5v-SYYzX4_trJT|LIQLo|l=+h{DfSSC3d=?%<}pkkEc$#K)mxOZF; zKDkqmJI$qQv~_UaO+jul2ws``d|ZZWEGRY+%{$*XWkm9fb(n#Zz?%aL9Dubt-BAOK zdz+%u zIrw7i@wrFVq|gq9+8ORrPUM2F^o=B#8f6`RC*x)+qh+rjUzXKecMYsDc;BV2>H}C} zhJv^Lk_V{Y?kvJ@2yewZE#`2ad|nci>cr>u2F&m8dOzJj4K!C{j4XPUxcz@>OF<8j z>3pcK>`(dDjx(rq)g}h^gXW9jzN>UcyP3$3mbIY4N8+5QEH! zU8z=Lx*&mEM7Tqc`aJ)j#%pn>YAqX@o8{H1+5?^m7iwMZoUcz%JN#5IQN zPB|8IcboI+n)k%O!6rU%xhdOZHeI2|GG!9H02 zb>4<7mKF{l67=S8?MWc|HOM!M)jBqgIffe*--rGu`@&gvL}a zFaM1zh;KCR-_zCwiH5=8HaSG5hB;9HS#Z4Afl~ooy1{nIi>R|vFL1`pwjb{1a{U1V{QJ4mR*x8YS_WEc~!hl%09bHb!{?y1eDit8k?7CKu=c*JRrDNtgbJJD6 zcC^iPCDxkECukr%njj1^v`Xn1=WD2>{iDM{;>Ng<@>bzg-zLero3!G7sNF>Sv@#|# zKvxR3Q|Mh8nr5+FmtVNN>kzS0MiYU#g{E_r-yqIQ->(wB*=il{-*f4~*&{Vxwy5R= z>Luj{m{Ni2QXJhA6MvKTQozX#!VGM(r6E0ZGEhDxwKQ+Jzyq9Vj-)WblM-o@jM9N} zjNzev_{ns&u|uu4Ss+$WqoM1&<-zI5E{(CrOLeQy?1(bG?NR3RE>9P3HF-#s0#XNC^N@FjZ zkLPd+v*~0lUJKcG%qD0QJ??09D!jmk4=8cDI8lBES_3Gs5u>yiZrdIOWj$&|KCRD= z@0!?5&{W~JwY2=zrSXBn)!^Br(28yZ6jGR@2hDqnwT7euq`ew7%G;icCnqN6w2rUF zuv(=jK7&A-LZnfwt_a&oQ?bZ8pWdKOPB+C`*EfXrrKg<}`SBy=Qn$tVyCfdr?&e$}x#vuh_R3HgqaJ zcn662;j4(`+3#lHPSHvE?jnaA+p+lg+hk*lTVs8)8Awf*1G;4laTqO21arDh!Oz{% zw>Z5z)0qO8-S2=x^*=<|clVF#^9v#KOupd1 z7!de9=skYE*ocvbybKe(W6Ej#v_JchZ~bod#EYe5FM6F#z=oqIctZ@?#Ed#9 zVGEIthT$t>3xrMSj$=Un7kh{n9cI$DG!$6JTEL^i9P6iHcgcnKgCMq9Q1Kp7E zmtAGOzZ&MIu2PjnZr}5prChBrR3&+rYkYqAjiWS01(aUm7Y&zpjq!?i@s#%y-;zW_ zxikOxbaFay)6)wv+H~yv(hpfD0Ydl+#f#F(n-vmGj<0_hiOQ%!vuufr^Ms>|{g5UF z}2y8Sqb^?ABmZJR{zRxPLc>r>G0E3(3U0DJz^e2=4z+sl>e%03qPxj&^-uHLa0 zr}fsDU6`RON4rY+3VvOFh|8MpYnQ6Ru1KR;x*Dt|q>dVYGkM>0W4as1HOhNp6!7>l z;m4sq>aO|ncB`yeM}wmL$c3-;#_`77rNb4FuxNAzL}j09o|wIE%(bz=ngK5jKiQ@O zCUn5eZ2zqd*ALE9g{Uy}Dl|N9Phmg-rv>wn3|JRVSroG1YKl&~!(IkQi3Z&{Sp-Xq zVNWH04557mgDVrkk#*ON+>bw9G$>2ijE1sN$?0X~X^O?d$v^D7zMX7XFTBkG{bu%fL#bQGD2 z11x$7HM+E&hWyZ5%~*H~ojn))I4*S^`>Ed8Z^^kCn_(5MqpKUH{P8X9%K*}f3{t~L z!fCCqCaqGM^`!d;MjZp?FWt0!F ze0NMdMD?#lsuaqUgG|#!58G5<^11&{Xq8mJUvSKFZ7y7%O9J`8Bj%LuKJvNx` zw9vZ#g@j_4?o|j9f3v#`QMRr0ct!D)jpyxFak_pTRtf@nzbZ5Z)Pa8z9bjzR z6zhmcv{PXGA%jWFS#8wgwE#m;8dO|z**LENxZ<=oy7y4*r#k-JGc~RED)nLVyPbEZ zr^w6`UK9JcFo2`L+9u=pa8nTE2+PFwx_yev?1!1|J_juTRo0xSMybNQaS32Kk+#&s zt-a!L-cE#1nPJZcPk0lt=y8BHu%}MkjJ_+7m31~{=&a%RhdWF=IoEcnAPW|ngetWC zr#)Rdaw~BOjODmO+(g>GWmVw?)EC}44lP8V3a4%Vg7970i+I{3Lh9Hw;{X9OP)BrZ;iF~)|QrnzJLu&Z&yc+yD_C{qwo+d1d_#zPEM{;+wV*? z%XVp;muy|P$G24?O%rw^nY9&_ZK-3Tg`;6Uj_69b)a56VG$4s{5&UQeESv|!DoogT zihEqn3oK6P@)@XMoxe^xm#Q^Ys8I)sSLx=eZ5rH$v?GTZ6*+aR*rs=(bb+X^!l8_M z3|b+$-Ky>3jM7bfU7^d(`)WTaAKmk$qTh_*QgduRu#$V$ME@NFz;H?v4W*XdxxF>o)dWn@w~?MfzYpuIrHX z_TXNJub&ld0)P$YFsIQAmEeT8!UAv0pq>%Qe?!b#Ie03r%3q4*+ZD3v5pJ!{M%O#! z-YXP=cSm0CEGl~~%Ex21&XO&|>p&fsWuZNnRpXZy`PzR@y(2YKNdoFs37>z*n$-mt z>o$cXQIi<(C;Pa^B(MKd<>i0kqMSyHt$BZ)BEPcbk$^l#04KNHZ1AdWA#4 z;A>wYcM*CAY^h%8``%sMk^{&Ndg^e2xJsA>ZO`f(}@eirTk8+m9aK$;hkgtV` zTt6f!w(ik}yEjirY&5LXuz6rrOZE=677iQ19;;~odzO9rQYD%7rP|$cAe1$6>4;<-mLxqkhQfP`P1D z{iIP_PlhJm>`*5Icd^9+)D84(of~cPcus7ie0(FNz@mD8adzEZMwi41B9iVl9}T5y z6u}U}-DKnI zbuoXyd`ZW;+sE?m8@utXFFBtUzR}^oKAb822XGnMF=7*CXdyPzl)S}1daGsu(l}*i zlaCtUIdESNiP+B)sY5Rf)fsdOCg0Ck-r;K9=!N(Gh6TRi-7X#m+M2m17PYO6Y1%!m zp5U{yYGOM3;@r{EE>Yry-MNGnZtBTqQR02hbN(H@9e6fimhn&c!l@!MGFCg9IUO`rQoua#{`{*jqlUdM8Qd#F1p7x%4g+k+!f+C zZK@|$ICA{UjC*jb0IB*|%*Q9DZc`_{qL{L&>)}8D7491pfvK)7sd&LGpgd7vAmsI!C?= zJ)M0$<7?_R(DAjT#Zok8R_ZBrp($7(c6M~)z;bRwM(?cpw{s!RuaT^zY$ILJ7-~x8 z@I1 z*NIeeJGn`2+G4TBao^3!$_%-gn_(w6ZL=8JJ?8t?>4)!ieLw%e>wR6H_xp9dUeCwt z^%U`@?8r_OC)%CIw(PL6L}DR-qzmh-!s1#61_B0LIY;W;NZmBIjG5=;CM#$StKP5I zcyQ3BMt*)2@Oo^U%PwT7pn9vim6Mv8hf_OHYMFyH#*SD<@KnPF$7sQ(*5p_4nvDkq zLpL%{2guPktj=fRTt)uFPu1*@(oYFQwJtRMd9xwg0LYY{u5>7qo&G%V`tVMG=>08E z18r6(B3S=aHP`KH(sJK>zB0fNS>N#{M?cu;^Vj0OSM%+!MW*rM#MwNddG_`$=@@s$ zr^@$c9wQ)6Z5um^SOz^pbHr^i#f}O)eQBSPwMVVbo%xu4PLXZnDE4BO0>uG+upVd* zQOCYG<`g>o-J zRXlovYYB<6o7rrTVi9$W*e$QGvcTpfdAJ=Xzsos&LeOqW?N_%zAX`v-Vhb05XyU3cR;h%cd7ynC|gwhLWB=7YWD@P_*#SN(!| zO+kNgKz0)o`4IMF5z6ZX#Ydgcx=K!h@isOR6FS7dAr^*J)&&OOUYk zVVgQT?f2#^>%Az~t|5_s%hp6C)9n0?*9>=h$@Z$3#(kAp5BjTm=?Wbo4cC^Q9@+)X z36Ci{{Y`A(mdiK5u-9=i*S)~xRZ-SoicI5Pwx0CDiUc%4%Zv3=6z|+Br-uLGvTl&!Vsl(}cny{zpZ3Xn#-6~^5B`Kln z%)6m7_`^pQhY_CiyWW?~g9({qi6z;^5_g)o2=;Nj=+|+4==`#c(gUo8GbxxWH z^W@p0`VC?KirhP%4oJXqxN!POD3%eq>mB{gwX@qE4x5=}M+eXD6)(l5#4jj%lNHSG z3}Rkex38?&e1119s)FM@G%j)m@3l=9c|Fq&Nk=EjiQ%>wTh_&u)YjH~H+@Lju02)` zTx?XT6ehrEDRDzB_VYCRI|9|kQ&Cx$v7&PmcV4;0hICWlTTF zRI2(kFq*ZCKudHRjTxn6q8qc>f#F!#)B%&eIzwq?d3ib8J>YR_y@#v4xC^N&4qa(4 zGrv4^050gOa<#m3hWEBZk)c#9M~`A$IuGyK~E4(0r!d{>Bq#q6zsC?dnW5}|w2A*7p^2gq;oBqSL0%;O@I?6jS`hV@A(^KBxtd$?sM_@kWFUezH3u z64vy_TEE=wM^zhwGzs=zYn@{lc4Y~To9Xbicufcm{cHl=+Za93f6vHy{9A|&s$9wf z^vkj~xODpDF`$q<{@rxA5f78UgKtZ?s^<*W4DWk;d;4<~6D>*LB~`~(Y&K|jR()Ya z1v7 zCwpzkqC+LXI>dbaFu>|EIUi1#Q?Zpy3nat|0&rT}aPgSZ!GF*Zxps(LNo4YJ+HTO6 z)?Fk&*}!}$o3hpzA)3_&l9d{$?4?%nger7#)7rXb4*jmqrt$rtM~9p~>Hb@-!}+xT E0xt|FJ^%m! literal 0 HcmV?d00001 diff --git a/docs/assets/en/exportProj2.png b/docs/assets/en/exportProj2.png new file mode 100644 index 0000000000000000000000000000000000000000..292b9d061056d80ff2780ccb3dfcad408891ba0f GIT binary patch literal 5928 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 Date: Fri, 12 Apr 2019 17:47:12 +0200 Subject: [PATCH 2/4] Export project1 --- docs/Project/exporting.md | 38 ++++++++++++++++++++++++++++++--- docs/assets/en/exportProj3.png | Bin 0 -> 85916 bytes website/pages/en/index.js | 2 +- 3 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 docs/assets/en/exportProj3.png diff --git a/docs/Project/exporting.md b/docs/Project/exporting.md index 9cd8e7958b33b3..fae04aca69fe52 100644 --- a/docs/Project/exporting.md +++ b/docs/Project/exporting.md @@ -5,11 +5,12 @@ title: Exporting to 4D project You can convert an existing 4D database (.4db file) into a 4D project. Since the export only creates a new version of the existing database, original files are never touched. Thus, you can convert your database as many times as you need. -Note that the export is a one-way operation: +Keep in mind that the export is a one-way operation: - once a 4D database has been exported as a project, both versions become independant. - a 4D project cannot be exported to a .4db file + ## Converting a database When you convert an existing 4D database to a project, the .4db file is left untouched: a "Project" folder is created next to your .4db file, and will contain all necessary files. @@ -20,18 +21,49 @@ To convert a database to a project: 1. Open the database to convert. 2. Select **File > Export > Structure to project**. -**Note:** This command is only available if the database is open in classic (binary) mode. +**Notes:** +- This command is only available if the database is open in classic (binary) mode. +- You can also use the **Export structure file** language command. ![](../assets/en/exportProj.png) If the conversion was successful and no blocking errors encountered, the following dialog box is diplayed: ![](../assets/en/exportProj2.png) - **Reveal log**: highlights the conversion log file on your disk. Reading this file is highly recommenced in any case since the conversion process could have modified some parts of the application (see XXX). -- **Open project**: restarts the 4D application and loads the converted database as a project. +- **Open project**: restarts the 4D application and loads the converted project. + +### About the data file + +The data file is left untouched by the + +## Resulting project +During the conversion process, a new "Project" folder is created at the same level as your .4db structure file. It contains all your development as text files: forms, structure, methods, triggers, menus, tips, lists. It also contains a ".4DProject" file, which is your converted 4D project main file: +![](../assets/en/exportProj3.png) + +When you open the ".4DProject" file with your 4D application, the project uses the same resources folder and web folder as the existing ".4db" file, which makes it easier to test your project. + +You can still open the ".4db" database, do some modifications if required (see [Compatibility issues]), then export again, and test. You can repeat this operation until you are satisfied with the conversion. ## Check your conversion +No need to worry about converting your database. The conversion does not change your structure (.4db) and your data (.4dd). A log file is created during the conversion. Messages are classified into three categories: info, warning and error. +For example, if you have images in the pictures library, 4D exports them to the resources folder of your database. In the log file, you have the correspondence between the ID of the picture and the name of the file: +{ + "message": "Exporting picture id:1, name:logo.png, types:.png to <...>:Resources:Images:library:logo.png", + "severity": "info" +} +Or for instance, some errors require your intervention. Some old form objects are no longer supported, such as highlight buttons. In this case, you must convert the button yourself to a 3D button. +{ + "table": 3, + "tableName": "Name", + "form": "Form", + "object": "button", + "message": "Highlight buttons are unsupported. Please convert them to 3D buttons.", + "severity": "error" +} +We’ve got you covered. 4D informs you of everything it does. All you have to do is reading what’s written for a better understanding if something went wrong during the conversion, or for just useful information to help you carry on. + ## Compatibility issues diff --git a/docs/assets/en/exportProj3.png b/docs/assets/en/exportProj3.png new file mode 100644 index 0000000000000000000000000000000000000000..24217a9a20af7234d4bcd768b1edd941277b95f1 GIT binary patch literal 85916 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 z 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 z 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�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 literal 0 HcmV?d00001 diff --git a/website/pages/en/index.js b/website/pages/en/index.js index 0a22805c65c720..d91abb89317ef5 100644 --- a/website/pages/en/index.js +++ b/website/pages/en/index.js @@ -179,7 +179,7 @@ const Classic = props => ( {[ { content: '[doc.4d.com](https://doc.4d.com/)', - image: imgUrl('Classic.png'), + image: imgUrl('classic.png'), imageAlign: 'left', title: 'Classic Documentation', }, From 93bf130bf016e05dd8621da7bca85a12e17b1697 Mon Sep 17 00:00:00 2001 From: arnaud4d Date: Mon, 15 Apr 2019 15:35:37 +0200 Subject: [PATCH 3/4] Edit home page/project in progress --- docs/Project/exporting.md | 48 ++++++++++++++++++++------------------- website/pages/en/index.js | 9 ++++---- website/sidebars.json | 4 +++- website/siteConfig.js | 4 ++-- 4 files changed, 35 insertions(+), 30 deletions(-) diff --git a/docs/Project/exporting.md b/docs/Project/exporting.md index fae04aca69fe52..a1ebd372b656fd 100644 --- a/docs/Project/exporting.md +++ b/docs/Project/exporting.md @@ -1,6 +1,6 @@ --- id: exporting -title: Exporting to 4D project +title: Export to 4D project --- You can convert an existing 4D database (.4db file) into a 4D project. Since the export only creates a new version of the existing database, original files are never touched. Thus, you can convert your database as many times as you need. @@ -28,12 +28,13 @@ To convert a database to a project: If the conversion was successful and no blocking errors encountered, the following dialog box is diplayed: ![](../assets/en/exportProj2.png) -- **Reveal log**: highlights the conversion log file on your disk. Reading this file is highly recommenced in any case since the conversion process could have modified some parts of the application (see XXX). +- **Reveal log**: highlights the conversion log file on your disk. Reading this file is highly recommenced in any case since the conversion process could have modified some parts of the application (see [Check the conversion](#check-the-conversion)). + - **Open project**: restarts the 4D application and loads the converted project. ### About the data file -The data file is left untouched by the +The data file is left untouched by the conversion. Only development elements are converted. You can open the data file with the .4db structure file after a conversion. ## Resulting project @@ -43,26 +44,27 @@ During the conversion process, a new "Project" folder is created at the same lev When you open the ".4DProject" file with your 4D application, the project uses the same resources folder and web folder as the existing ".4db" file, which makes it easier to test your project. -You can still open the ".4db" database, do some modifications if required (see [Compatibility issues]), then export again, and test. You can repeat this operation until you are satisfied with the conversion. - -## Check your conversion - -No need to worry about converting your database. The conversion does not change your structure (.4db) and your data (.4dd). A log file is created during the conversion. Messages are classified into three categories: info, warning and error. -For example, if you have images in the pictures library, 4D exports them to the resources folder of your database. In the log file, you have the correspondence between the ID of the picture and the name of the file: -{ - "message": "Exporting picture id:1, name:logo.png, types:.png to <...>:Resources:Images:library:logo.png", - "severity": "info" -} -Or for instance, some errors require your intervention. Some old form objects are no longer supported, such as highlight buttons. In this case, you must convert the button yourself to a 3D button. -{ - "table": 3, - "tableName": "Name", - "form": "Form", - "object": "button", - "message": "Highlight buttons are unsupported. Please convert them to 3D buttons.", - "severity": "error" -} -We’ve got you covered. 4D informs you of everything it does. All you have to do is reading what’s written for a better understanding if something went wrong during the conversion, or for just useful information to help you carry on. +You can still open the ".4db" database, do some modifications if required (see [Check the conversion]), then export again, and test. You can repeat this operation until you are satisfied with the conversion. + +## Check the conversion + +A log file is created by default during the conversion to reference all issues that required an action from the converter. The log file is in JSON format. In the file, messages are classified in three categories ("severity" property), for example: + +```codejs + { + "message": "Exporting picture id:1, name:logo.png, types:.png to <...>:Resources:Images:library:logo.png", + "severity": "info" + } +``` + +- **info**: describes a necessary action executed automatically by the converter and that will not have any impact on the application interface or features. For example, if you have images in the pictures library, 4D exports them to the **resources** folder of the database (see example above). + +- **warning**: describes a necessary action executed automatically by the converter that could lead to differences in the application's features or interface, but without preventing the database to run. Warnings usually require that you control the impact of the conversion on your code. For example, warnings are returned when unsupported compatibility settings, such as "Unicode mode" or "Radio buttons grouped by name" are automatically switched. + +- **error**: describes an issue that requires your intervention to be fixed. It can prevent the database to run properly. For example, some old form objects are no longer supported, such as highlight buttons. In this case, you must convert yourself the button to a 3D button in the .4db file before relaunching the consersion. + + +When an adaptation is required in the .4db database, just modify the code or the form accordingly and export the structure again, until you are statisfied with the result. ## Compatibility issues diff --git a/website/pages/en/index.js b/website/pages/en/index.js index d91abb89317ef5..192dfbcd2f77c6 100644 --- a/website/pages/en/index.js +++ b/website/pages/en/index.js @@ -160,11 +160,12 @@ const Description = props => ( {[ { - content: '[4D Language Concepts](docs/Concepts/doc1.html)', - //
[4D Project Development (BETA)](docs/Project/overview.html)', + content: '[4D Language Concepts](docs/Concepts/doc1.html)', + //
4D Projects (BETA)' + //(docs/Project/overview.html)' image: imgUrl('manuals.png'), imageAlign: 'left', - title: 'Manuals', + title: 'Reference Guides', } @@ -181,7 +182,7 @@ const Classic = props => ( content: '[doc.4d.com](https://doc.4d.com/)', image: imgUrl('classic.png'), imageAlign: 'left', - title: 'Classic Documentation', + title: 'Doc Center', }, diff --git a/website/sidebars.json b/website/sidebars.json index 89fc93a5efbad8..92a6e5fe147d5e 100644 --- a/website/sidebars.json +++ b/website/sidebars.json @@ -20,6 +20,8 @@ }, "Concepts/error-handling","Concepts/interpreted-compiled", "Concepts/components","Concepts/plug-ins","Concepts/identifiers" - ] + ], + "4D Projects": + ["Project/overview","Project/exporting"] } } \ No newline at end of file diff --git a/website/siteConfig.js b/website/siteConfig.js index 9ae377564e0427..8d167c3354bf0a 100644 --- a/website/siteConfig.js +++ b/website/siteConfig.js @@ -21,8 +21,8 @@ const users = [ ]; const siteConfig = { - title: 'Developer Center' /* title for your website */, - tagline: 'Documentation for 4D Developers', + title: 'Documentation' /* title for your website */, + tagline: 'for 4D Developers', url: 'https://4d.github.io' /* your website url */, //baseUrl: '/doc/' /* base url for your project */, baseUrl: '/docs/' /* base url for your project */, From 0c7b1b90ae5627d50a9ceb22ffe7415fa905280f Mon Sep 17 00:00:00 2001 From: arnaud4d Date: Tue, 16 Apr 2019 14:31:26 +0200 Subject: [PATCH 4/4] Final home page, edits in Projects (not visible) --- docs/Project/exporting.md | 23 ++++++++++++++++++----- website/siteConfig.js | 4 ++-- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/docs/Project/exporting.md b/docs/Project/exporting.md index a1ebd372b656fd..58842010bc7368 100644 --- a/docs/Project/exporting.md +++ b/docs/Project/exporting.md @@ -21,10 +21,11 @@ To convert a database to a project: 1. Open the database to convert. 2. Select **File > Export > Structure to project**. +![](../assets/en/exportProj.png) **Notes:** - This command is only available if the database is open in classic (binary) mode. - You can also use the **Export structure file** language command. -![](../assets/en/exportProj.png) + If the conversion was successful and no blocking errors encountered, the following dialog box is diplayed: ![](../assets/en/exportProj2.png) @@ -44,7 +45,7 @@ During the conversion process, a new "Project" folder is created at the same lev When you open the ".4DProject" file with your 4D application, the project uses the same resources folder and web folder as the existing ".4db" file, which makes it easier to test your project. -You can still open the ".4db" database, do some modifications if required (see [Check the conversion]), then export again, and test. You can repeat this operation until you are satisfied with the conversion. +You can still open the ".4db" database, do some modifications if required (see below), then export again, and test. You can repeat this operation until you are satisfied with the conversion. ## Check the conversion @@ -64,11 +65,23 @@ A log file is created by default during the conversion to reference all issues t - **error**: describes an issue that requires your intervention to be fixed. It can prevent the database to run properly. For example, some old form objects are no longer supported, such as highlight buttons. In this case, you must convert yourself the button to a 3D button in the .4db file before relaunching the consersion. -When an adaptation is required in the .4db database, just modify the code or the form accordingly and export the structure again, until you are statisfied with the result. +When edits are required in the .4db database, just modify the code or the form accordingly and export the structure again, until you are satisfied with the result. ## Compatibility issues +In 4D projects, we have removed the support of obsolete features in order to focus on new, modern implementations. In particular: + +- The picture library no longer exists. During conversion, 4D exports all your images to the **resources** folder of the database. +- Legacy style sheets are not converted. +- Groups and users are not converted. +- Form objects and form object properties have been updated (they now use the same grammar as for Dynamic forms). Deprecated parts are not supported (see [Legacy form objects and properties on Doc Center](https://doc.4d.com/4Dv17R4/4D/17-R4/Deprecated-or-removed-features-in-v17-product-range.200-4075256.en.html#4020272))'. In fact, we use the same grammar used for Dynamic forms. +- Compatibility settings are reset as for a new database. Check the Conversion log to verify the status of compatibility settings for your database. + + ## And after? -### Copy, merge, -### Rollback + +Once your are satisfied with your converted database and want to start working with your project, you can clean up your working directory: + +1. Remove your ".4db" and ".4dindy" files from the application folder (you can move them to a backup directory for example). +2. On macOS, remove the ".4dbase" folder extension during the whole development phase. Since you work with \ No newline at end of file diff --git a/website/siteConfig.js b/website/siteConfig.js index 8d167c3354bf0a..f7d8b49d441a77 100644 --- a/website/siteConfig.js +++ b/website/siteConfig.js @@ -22,7 +22,7 @@ const users = [ const siteConfig = { title: 'Documentation' /* title for your website */, - tagline: 'for 4D Developers', + tagline: 'Essential Guides for 4D Developers', url: 'https://4d.github.io' /* your website url */, //baseUrl: '/doc/' /* base url for your project */, baseUrl: '/docs/' /* base url for your project */, @@ -41,7 +41,7 @@ const siteConfig = { headerLinks: [ //{doc: 'Concepts/doc1', label: '4D Language Concepts'}, //{doc: 'doc4', label: 'page4'}, - {href: 'https://4d.com/', label: '4d.com'}, + {href: 'https://developer.4d.com/', label:'Developer Center'}, //{href: 'http://kb.4d.com/', label: 'knowledgebase'}, //{page: 'help', label: 'Help'}, //{blog: false, label: 'Blog'},