Extensions should not be restricted to using obscure UUIDs

Description

not sure why it's not working, other forgebox providers use human friendly IDs

https://www.forgebox.io/rest/extension/provider/info

The Extension [Log Viewer : 3.0.0.33] has no valid id defined (lucee-log-viewer),id must be a valid UUID. Hide Details lucee.runtime.exp.ApplicationException: The Extension [Log Viewer : 3.0.0.33] has no valid id defined (lucee-log-viewer),id must be a valid UUID. at lucee.runtime.extension.RHExtension.readId(RHExtension.java:633) at lucee.runtime.extension.RHExtension.readManifestConfig(RHExtension.java:412) at lucee.runtime.extension.RHExtension.load(RHExtension.java:379) at lucee.runtime.extension.RHExtension.init(RHExtension.java:227) at lucee.runtime.extension.RHExtension.(RHExtension.java:216) at lucee.runtime.config.XMLConfigAdmin.updateRHExtension(XMLConfigAdmin.java:4593) at lucee.runtime.config.XMLConfigAdmin._updateRHExtension(XMLConfigAdmin.java:4583) at lucee.runtime.tag.Admin.doUpdateRHExtension(Admin.java:4262) at lucee.runtime.tag.Admin._doStartTag(Admin.java:740) at lucee.runtime.tag.Admin.doStartTag(Admin.java:353) at ext_applications_cfm184$cf.call(/admin/ext.applications.cfm:81) at

https://github.com/lucee/Lucee/blob/5.3/core/src/main/java/lucee/runtime/extension/RHExtension.java#L633

the other extensions use a nice slugName from box.json, but include a GUID in the manifest, the problem is now Lucee can't track installed extensions as the ID doesn't match the slugName, so you don't get update prompts

this is just so developer unfriendly, the argument that guids are unique is doesn't hold water, human friendly names are also unique, plus, there's nothing stopping a different extension just re-using an existing extension's guid, trust me i did it accidently.

The important difference with human friendly names is that humans would be able to immediately see if there's a problem if an extension has the wrong ID, with GUIDs that's not really possible for most humans, we just see a random string.

Here are some random strings

"uninstall extensions [81F9B6A5-D948-4550-BF12453D4CE09456] because it is not supported for the current Lucee version." the following extensions are bundled with the lucee.jar [7E673D15-D87C-41A6-8B5F1956528C605F-8.0.15.lex;99A4EF8D-F2FD-40C8-8FB8C2E67A4EEEB6-4.0.2206.100.lex;671B01B8-B3B3-42B9-AC055A356BED5281-9.4.1212.lex;2BCD080F-4E1E-48F5-BEFE794232A21AF6-1.3.1.lex;D46B46A9-A0E3-44E1-D972A04AC3A8DC10-1.0.19.24.lex;17AB52DE-B300-A94B-E058BD978511E39E-0.9.4.119.lex;87FE44E5-179C-43A3-A87B3D38BEF4652E-2.10.0.31.lex;FAD1E8CB-4F45-4184-86359145767C29DE-3.5.5.75-SNAPSHOT.lex;EFDEB172-F52E-4D84-9CD1A1F561B3DFC8-2.4.1.32.lex;66E312DD-D083-27C0-64189D16753FD6F0-1.0.0.75-SNAPSHOT.lex;CED6227E-0F49-6367-A68D21AACA6B07E8-1.0.0.3.lex;D46D49C3-EB85-8D97-30BEC2F38561E985-1.0.0.2.lex;FAD67145-E3AE-30F8-1C11A6CCF544F0B7-1.0.0.9.lex;DF28D0A4-6748-44B9-A2FDC12E4E2E4D38-1.4.0.25-SNAPSHOT.lex;B737ABC4-D43F-4D91-8E8E973E37C40D1B-1.0.0.27-SNAPSHOT.lex;37C61C0A-5D7E-4256-8572639BE0CF5838-2.1.0.17-SNAPSHOT.lex;6E2CB28F-98FB-4B51-B6BE6C64ADF35473-1.0.0.3-SNAPSHOT.lex;8D7FB0DF-08BB-1589-FE3975678F07DB17-1.0.0.1-BETA.lex;]"

Environment

None

Activity

Zac Spitzer 3 July 2023 at 13:10
Edited

We can make this change with 5.4 and 6.0, but it means any new extension released with a sane id, won’t be backwards compatible

Decision.isUUId(id) is scattered across the code base, we may want to introduce some basic namespace rules for no uuid extension ids, like at least one or two dots.

i.e. org.lucee.esapi

Brad Wood 25 March 2020 at 16:48

Yes, please. I've tried to talk you out of this many times Micha. I don't care if you want to make it the official recommendation, you should still support any unique string. GUIDs are just horrible and you're killing developers workflow by forcing them on us.

Details

Assignee

Reporter

Priority

New Issue warning screen

Before you create a new Issue, please post to the mailing list first https://dev.lucee.org

Once the issue has been verified, one of the Lucee team will ask you to file an issue

Affects versions

Created 25 March 2020 at 10:20
Updated 7 June 2024 at 10:42