Sign in Join
Wiki copytemporary

OPM External Update json Editor: what changed

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

OldNewLine
11## Information and Downloads
22
33### Screenshots
44
5-<figure>
6-<img src="jp_mainwindow.jpg" title="jp_mainwindow.jpg" />
7-<figcaption>jp_mainwindow.jpg</figcaption>
8-</figure>
5+![](/wiki-images/7/76/Jp_mainwindow.jpg)
96
10-<figure>
11-<img src="jp_filemenu.jpg" title="jp_filemenu.jpg" />
12-<figcaption>jp_filemenu.jpg</figcaption>
13-</figure>
7+![](/wiki-images/3/34/Jp_filemenu.jpg)
148
15-<figure>
16-<img src="jp_helpmenu.jpg" title="jp_helpmenu.jpg" />
17-<figcaption>jp_helpmenu.jpg</figcaption>
18-</figure>
9+![](/wiki-images/4/40/Jp_helpmenu.jpg)
1910
2011------------------------------------------------------------------------
2112
2213### Purpose
2314
2415- To make and maintain package update information for [[Online Package Manager]] easily, accurately and quickly.
2516
2617### Installation
2718
2819- There is a Windows Installer and a Zipfile of Linux executables (see #Download below) available.
2920- Source code is also available to compile with Lazarus v1.62+ and FPC v3.00+ (best with Laz1.7+/fpc3.11+)
3021
3122#### Directory Structure
3223
3324- OPM External Update json Editor is designed to be deployed in the same folder as your component.
3425 - 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.
3526 - Each copy of OPM External Update json Editor will maintain its own distinct cfg file in the GetAppConfigDir location.
3627- When first started up, OPM External Update json Editor will make the subfolders:
3728
3829`- \updates`\
3930`- \locale`
4031
41-\
4232* Suggested structure for your component:
4333
4434`- \componentfolder`\
4535`- \componentfolder\stable_version`\
4636`- \componentfolder\stable_version\updates`\
4737`- \componentfolder\stable_version\locale`
4838
4939- \componentfolder - contains the working version of your component code (development source, libs, backups, resources, executables and so on)
5040- \componentfolder\stable_version - contains the published version (stable source code only), and also a copy of JsonEditor(.exe)
5141- \componentfolder\stable_version\updates - contains the update json and update Zipfile
5242- \componentfolder\stable_version\locale - contains the language files for OPM External Update json Editor
5343 - This works very well in practise, especially if your project is under version control (svn, github etc)
5444
5545### Making a new OnlinePackageManager update json
5646
5747- Fire up OPM External Update json Editor (jsoneditor\[.exe\]) and fill in all the fields for your package.
5848 - 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
5949 - **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.
6050- The first time you use OPM External Update json Editor, a pop-up hint window will show you what each field is for.
6151- When you click \[Save\], if any field needs amending a dialog will tell you what is wrong, and problem fields will highlight.
6252 - Only a validated json will be saved to disk.
6353 - By default the json is named update_\<zipfilename\>.json and saved to the \updates folder
6454 - OPM External Update json Editor will offer to Auto-Load the same component info when it is next opened.
6555- 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)
6656 - Each can have its own version number and other characteristics
6757- Finally, upload the Zipfile and json file to a place where [[Online Package Manager]] can find it.
6858 - Please note: After you uploaded the JSON the changes are not immediately visible in the tree. Usually it takes 1-2 min. or less.
6959
7060### Maintaining a package with OnlinePackageManager and OPM External Update json Editor
7161
7262- Make a new update Zipfile and put it into the \updates folder
7363 - Pay attention to embedded paths in the zip
7464 - You can include example/demo source code in the Zip
7565 - Be sure to prune out anything not needed, like /backup /lib folders and executables etc.
7666- Fire up JsonEditor and click File/Load
7767 - If Auto-Load was chosen, it will already have loaded the last-saved package info
7868- Update the version info for your package(s) thus:
7969
8070**"DownloadZipURL"** --\> Link to your new, updated package
8171
8272**"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.
8373
8474**"Version"/"ForceNotify"/"InternalVersion"** --\> To trigger an update message on the users computer, you can either:
8575
8676- Increase the **"Version"** number. Useful when you want to release a new version of the package.
8777- 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.
8878
8979The most common scenario is this:
9080
9181- Modify **"DownloadZipURL"**
9282- Increase version number when necessary.
9383
9484- Click \[Save\] in OPM External Update json Editor
9585- Finally, upload the Zipfile and json file to a place where OPM can find it.
9686 - Please note: After you uploaded the JSON the changes are not immediately visible in the tree. Usually it takes 1-2 min. or less.
9787
9888### Licence
9989
10090- OPM External Update json Editor is published under a general GPL license.
10191
10292### Languages
10393
10494- OPM External Update json Editor is available in English or Español. Help/Languages
10595
10696## Download
10797
10898- Windows installer: <https://sourceforge.net/projects/lazautoupdate/files/otherpackages/setup_jsoneditor.exe>
10999- Linux Zipfile: <https://sourceforge.net/projects/lazautoupdate/files/otherpackages/linux_jsonpackager.zip>
110100- Source code: <https://svn.code.sf.net/p/lazarus-ccr/svn/applications/json_packager/>
111101
112102------------------------------------------------------------------------
113103
114104### Links
115105
116106[[Online Package Manager]]
117107
118108Minesadorada
119109
120110---
121111*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).*
122112Category: Applications created with Lazarus
123113Category: Components
124114Category: Help
125115Category: Install
126116Category: Online Package Manager
127117Category: Packages
128118Category: Utilities

Back to history