Sign in Join
Wiki copytemporary

OPM External Update json Editor: what changed

Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11## Information and Downloads
22
33### Screenshots
44
55![](/wiki-images/7/76/Jp_mainwindow.jpg)
66
77![](/wiki-images/3/34/Jp_filemenu.jpg)
88
99![](/wiki-images/4/40/Jp_helpmenu.jpg)
1010
1111------------------------------------------------------------------------
1212
1313### Purpose
1414
1515- To make and maintain package update information for [[Online Package Manager]] easily, accurately and quickly.
1616
1717### Installation
1818
1919- There is a Windows Installer and a Zipfile of Linux executables (see #Download below) available.
2020- Source code is also available to compile with Lazarus v1.62+ and FPC v3.00+ (best with Laz1.7+/fpc3.11+)
2121
2222#### Directory Structure
2323
2424- OPM External Update json Editor is designed to be deployed in the same folder as your component.
2525 - 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.
2626 - Each copy of OPM External Update json Editor will maintain its own distinct cfg file in the GetAppConfigDir location.
2727- When first started up, OPM External Update json Editor will make the subfolders:
2828
29-`- \updates`\
30-`- \locale`
29+```text
30+- \updates
31+- \locale
32+```
3133
3234* Suggested structure for your component:
3335
34-`- \componentfolder`\
35-`- \componentfolder\stable_version`\
36-`- \componentfolder\stable_version\updates`\
37-`- \componentfolder\stable_version\locale`
36+```text
37+- \componentfolder
38+- \componentfolder\stable_version
39+- \componentfolder\stable_version\updates
40+- \componentfolder\stable_version\locale
41+```
3842
3943- \componentfolder - contains the working version of your component code (development source, libs, backups, resources, executables and so on)
4044- \componentfolder\stable_version - contains the published version (stable source code only), and also a copy of JsonEditor(.exe)
4145- \componentfolder\stable_version\updates - contains the update json and update Zipfile
4246- \componentfolder\stable_version\locale - contains the language files for OPM External Update json Editor
4347 - This works very well in practise, especially if your project is under version control (svn, github etc)
4448
4549### Making a new OnlinePackageManager update json
4650
4751- Fire up OPM External Update json Editor (jsoneditor\[.exe\]) and fill in all the fields for your package.
4852 - 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
4953 - **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.
5054- The first time you use OPM External Update json Editor, a pop-up hint window will show you what each field is for.
5155- When you click \[Save\], if any field needs amending a dialog will tell you what is wrong, and problem fields will highlight.
5256 - Only a validated json will be saved to disk.
5357 - By default the json is named update_\<zipfilename\>.json and saved to the \updates folder
5458 - OPM External Update json Editor will offer to Auto-Load the same component info when it is next opened.
5559- 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)
5660 - Each can have its own version number and other characteristics
5761- Finally, upload the Zipfile and json file to a place where [[Online Package Manager]] can find it.
5862 - Please note: After you uploaded the JSON the changes are not immediately visible in the tree. Usually it takes 1-2 min. or less.
5963
6064### Maintaining a package with OnlinePackageManager and OPM External Update json Editor
6165
6266- Make a new update Zipfile and put it into the \updates folder
6367 - Pay attention to embedded paths in the zip
6468 - You can include example/demo source code in the Zip
6569 - Be sure to prune out anything not needed, like /backup /lib folders and executables etc.
6670- Fire up JsonEditor and click File/Load
6771 - If Auto-Load was chosen, it will already have loaded the last-saved package info
6872- Update the version info for your package(s) thus:
6973
7074**"DownloadZipURL"** --\> Link to your new, updated package
7175
7276**"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.
7377
7478**"Version"/"ForceNotify"/"InternalVersion"** --\> To trigger an update message on the users computer, you can either:
7579
7680- Increase the **"Version"** number. Useful when you want to release a new version of the package.
7781- 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.
7882
7983The most common scenario is this:
8084
8185- Modify **"DownloadZipURL"**
8286- Increase version number when necessary.
8387
8488- Click \[Save\] in OPM External Update json Editor
8589- Finally, upload the Zipfile and json file to a place where OPM can find it.
8690 - Please note: After you uploaded the JSON the changes are not immediately visible in the tree. Usually it takes 1-2 min. or less.
8791
8892### Licence
8993
9094- OPM External Update json Editor is published under a general GPL license.
9195
9296### Languages
9397
9498- OPM External Update json Editor is available in English or Español. Help/Languages
9599
96100## Download
97101
98102- Windows installer: <https://sourceforge.net/projects/lazautoupdate/files/otherpackages/setup_jsoneditor.exe>
99103- Linux Zipfile: <https://sourceforge.net/projects/lazautoupdate/files/otherpackages/linux_jsonpackager.zip>
100104- Source code: <https://svn.code.sf.net/p/lazarus-ccr/svn/applications/json_packager/>
101105
102106------------------------------------------------------------------------
103107
104108### Links
105109
106110[[Online Package Manager]]
107111
108112Minesadorada
109113
110114---
111115*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).*
112116Category: Applications created with Lazarus
113117Category: Components
114118Category: Help
115119Category: Install
116120Category: Online Package Manager
117121Category: Packages
118122Category: Utilities

Back to history