OPM External Update json Editor: what changed
Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.
| Old | New | Line | |
|---|---|---|---|
| 1 | 1 | ## Information and Downloads | |
| 2 | 2 | ||
| 3 | 3 | ### Screenshots | |
| 4 | 4 | ||
| 5 | - | ||
| 6 | - | ||
| 7 | - | ||
| 8 | - | ||
| 5 | + |  | |
| 9 | 6 | ||
| 10 | - | ||
| 11 | - | ||
| 12 | - | ||
| 13 | - | ||
| 7 | + |  | |
| 14 | 8 | ||
| 15 | - | ||
| 16 | - | ||
| 17 | - | ||
| 18 | - | ||
| 9 | + |  | |
| 19 | 10 | ||
| 20 | 11 | ------------------------------------------------------------------------ | |
| 21 | 12 | ||
| 22 | 13 | ### Purpose | |
| 23 | 14 | ||
| 24 | 15 | - To make and maintain package update information for [[Online Package Manager]] easily, accurately and quickly. | |
| 25 | 16 | ||
| 26 | 17 | ### Installation | |
| 27 | 18 | ||
| 28 | 19 | - There is a Windows Installer and a Zipfile of Linux executables (see #Download below) available. | |
| 29 | 20 | - Source code is also available to compile with Lazarus v1.62+ and FPC v3.00+ (best with Laz1.7+/fpc3.11+) | |
| 30 | 21 | ||
| 31 | 22 | #### Directory Structure | |
| 32 | 23 | ||
| 33 | 24 | - OPM External Update json Editor is designed to be deployed in the same folder as your component. | |
| 34 | 25 | - If you maintain multiple components in separate folders, a copy of OPM External Update json Editor should be deployed in the main folder of each one. | |
| 35 | 26 | - Each copy of OPM External Update json Editor will maintain its own distinct cfg file in the GetAppConfigDir location. | |
| 36 | 27 | - When first started up, OPM External Update json Editor will make the subfolders: | |
| 37 | 28 | ||
| 38 | 29 | `- \updates`\ | |
| 39 | 30 | `- \locale` | |
| 40 | 31 | ||
| 41 | - | ||
| 42 | 32 | * Suggested structure for your component: | |
| 43 | 33 | ||
| 44 | 34 | `- \componentfolder`\ | |
| 45 | 35 | `- \componentfolder\stable_version`\ | |
| 46 | 36 | `- \componentfolder\stable_version\updates`\ | |
| 47 | 37 | `- \componentfolder\stable_version\locale` | |
| 48 | 38 | ||
| 49 | 39 | - \componentfolder - contains the working version of your component code (development source, libs, backups, resources, executables and so on) | |
| 50 | 40 | - \componentfolder\stable_version - contains the published version (stable source code only), and also a copy of JsonEditor(.exe) | |
| 51 | 41 | - \componentfolder\stable_version\updates - contains the update json and update Zipfile | |
| 52 | 42 | - \componentfolder\stable_version\locale - contains the language files for OPM External Update json Editor | |
| 53 | 43 | - This works very well in practise, especially if your project is under version control (svn, github etc) | |
| 54 | 44 | ||
| 55 | 45 | ### Making a new OnlinePackageManager update json | |
| 56 | 46 | ||
| 57 | 47 | - Fire up OPM External Update json Editor (jsoneditor\[.exe\]) and fill in all the fields for your package. | |
| 58 | 48 | - If you use the ellipsis button \[...\] to locate your Zipfile, OPM External Update json Editor will offer to copy the Zipfile to the \updates folder if it was in a different folder | |
| 59 | 49 | - **It is essential that the package lpk name exactly matches the one already installed in [[Online Package Manager]]**, otherwise you can choose whatever filenames you like. | |
| 60 | 50 | - The first time you use OPM External Update json Editor, a pop-up hint window will show you what each field is for. | |
| 61 | 51 | - When you click \[Save\], if any field needs amending a dialog will tell you what is wrong, and problem fields will highlight. | |
| 62 | 52 | - Only a validated json will be saved to disk. | |
| 63 | 53 | - By default the json is named update_\<zipfilename\>.json and saved to the \updates folder | |
| 64 | 54 | - OPM External Update json Editor will offer to Auto-Load the same component info when it is next opened. | |
| 65 | 55 | - If you have a multiple components entry in OPM (e.g. Designtime and Runtime), you can make an update_json file for them all (Click \[Add\] in OPM External Update json Editor) | |
| 66 | 56 | - Each can have its own version number and other characteristics | |
| 67 | 57 | - Finally, upload the Zipfile and json file to a place where [[Online Package Manager]] can find it. | |
| 68 | 58 | - Please note: After you uploaded the JSON the changes are not immediately visible in the tree. Usually it takes 1-2 min. or less. | |
| 69 | 59 | ||
| 70 | 60 | ### Maintaining a package with OnlinePackageManager and OPM External Update json Editor | |
| 71 | 61 | ||
| 72 | 62 | - Make a new update Zipfile and put it into the \updates folder | |
| 73 | 63 | - Pay attention to embedded paths in the zip | |
| 74 | 64 | - You can include example/demo source code in the Zip | |
| 75 | 65 | - Be sure to prune out anything not needed, like /backup /lib folders and executables etc. | |
| 76 | 66 | - Fire up JsonEditor and click File/Load | |
| 77 | 67 | - If Auto-Load was chosen, it will already have loaded the last-saved package info | |
| 78 | 68 | - Update the version info for your package(s) thus: | |
| 79 | 69 | ||
| 80 | 70 | **"DownloadZipURL"** --\> Link to your new, updated package | |
| 81 | 71 | ||
| 82 | 72 | **"DisableInOPM"** --\> If you want to temporary disable your package, set this boolean to true. It's useful for maintenance, the package will be grayed out in the tree. The user cannot download/install/update the package. | |
| 83 | 73 | ||
| 84 | 74 | **"Version"/"ForceNotify"/"InternalVersion"** --\> To trigger an update message on the users computer, you can either: | |
| 85 | 75 | ||
| 86 | 76 | - Increase the **"Version"** number. Useful when you want to release a new version of the package. | |
| 87 | 77 | - Set **"ForceNotify"** to true. Useful after a minor change in your source, that does not require a version change or in case of trunk version. To prevent continous error messages, **"ForceNotify"** must be used in combination with **"InternalVersion"**. After the user updates the package, OPM locally stores the **"InternalVersion"** value. If you want to trigger a new message, increase **"InternalVersion"** with one. If **"ForceNotify"** is true, **"Version"** is always ignored. | |
| 88 | 78 | ||
| 89 | 79 | The most common scenario is this: | |
| 90 | 80 | ||
| 91 | 81 | - Modify **"DownloadZipURL"** | |
| 92 | 82 | - Increase version number when necessary. | |
| 93 | 83 | ||
| 94 | 84 | - Click \[Save\] in OPM External Update json Editor | |
| 95 | 85 | - Finally, upload the Zipfile and json file to a place where OPM can find it. | |
| 96 | 86 | - Please note: After you uploaded the JSON the changes are not immediately visible in the tree. Usually it takes 1-2 min. or less. | |
| 97 | 87 | ||
| 98 | 88 | ### Licence | |
| 99 | 89 | ||
| 100 | 90 | - OPM External Update json Editor is published under a general GPL license. | |
| 101 | 91 | ||
| 102 | 92 | ### Languages | |
| 103 | 93 | ||
| 104 | 94 | - OPM External Update json Editor is available in English or Español. Help/Languages | |
| 105 | 95 | ||
| 106 | 96 | ## Download | |
| 107 | 97 | ||
| 108 | 98 | - Windows installer: <https://sourceforge.net/projects/lazautoupdate/files/otherpackages/setup_jsoneditor.exe> | |
| 109 | 99 | - Linux Zipfile: <https://sourceforge.net/projects/lazautoupdate/files/otherpackages/linux_jsonpackager.zip> | |
| 110 | 100 | - Source code: <https://svn.code.sf.net/p/lazarus-ccr/svn/applications/json_packager/> | |
| 111 | 101 | ||
| 112 | 102 | ------------------------------------------------------------------------ | |
| 113 | 103 | ||
| 114 | 104 | ### Links | |
| 115 | 105 | ||
| 116 | 106 | [[Online Package Manager]] | |
| 117 | 107 | ||
| 118 | 108 | Minesadorada | |
| 119 | 109 | ||
| 120 | 110 | --- | |
| 121 | 111 | *From the Free Pascal wiki, page "OPM External Update json Editor", as it stood on 2017-10-20 after a change by Mai, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* | |
| 122 | 112 | Category: Applications created with Lazarus | |
| 123 | 113 | Category: Components | |
| 124 | 114 | Category: Help | |
| 125 | 115 | Category: Install | |
| 126 | 116 | Category: Online Package Manager | |
| 127 | 117 | Category: Packages | |
| 128 | 118 | Category: Utilities |
