Yell #WebObjects !
It looks and works way better than LibreOffice Base (sorry) and it's real client-server architecture. Yes, it isn't #FLOSS, which would be too awesome.
It's still from Apple, you know. (They probably still regret they wrote this in #Java in their early naive childhood days, not doing peek capitalism.)
It's just so awesome. You lay out a database schema, import it to EOModeler, fix a few data types, set some rules (GUI! no freaking XML writing, simple syntax if you want to write) and the GUI looks exactly like you want a database app to look like.
In later times #Apple probably didn't want to accept they really reimplemented the whole (?, at least a lot of) Foundation in pure portable Java (this is not the Cocoa-Java bridge!). But they did. This is the removed doc: "The Foundation Framework". 378 pages.
Looks like I got it running without errors from #Eclipse now. Two example frameworks, included into two example apps and clients. Server and client classes and resources both distributed correctly.
Still impressed by its beauty. Both optical as well as conceptual.
Those guys called Apple's #JavaClient their "best kept secret" in 2009. Quite understandable why.
https://www.mail-archive.com/webobjects-dev@lists.apple.com/msg28020.html
#Swing #Cocoa: It isn't suprising when you look into it. For #WebObjects #Apple not only reimplemented #Foundation in #Java (com.webobjects.foundation), they also made a #Cocoa abstraction layer that mimics layout and behaviour in #Swing (com.webobjects.eointerface.swing).
That one still works (https://fosstodon.org/@lazarus/114252747377471833), while the bridge to Cocoa has been deprecated with WebObjects 5.4 (and thus is not part of its docs anymore).
Compare https://leopard-adc.pepas.com/documentation/InternetWeb/Reference/WO542Reference/index.html to https://leopard-adc.pepas.com/documentation/WebObjects/Reference/WO53_Reference/.
I mean, it doesn't look as gorgeous on #elementaryOS, but still, it works.
Ok, it even works using JDK 17 when you add `--add-exports java.base/sun.security.action=ALL-UNNAMED` as JVM option.
Think I got it running. It is aged. But aged very well. The client of this almost 30 years old example runs quite nicely, errors only point to SQL/model setup.
Think I‘ll reread that #WebObjects Desktop Application docs. They are just delicious.
Hm, really tired of this #MSAccess, #LibreOfficeBase database application stuff. I need a quick way to create a "main/detail" GUI from a database.
There once was #WebObjects and that really nice #JavaClient stuff.
Is there anything else, existing to this day?
I know of
- #Apache #Cayenne (only ORM, no GUI generation)
- #ManyDesigns #Portofino (very close, but only web GUI. Thanks to @peter for that hint some time ago).
Do you know of anything? @helge
Seeing these screenshots from #DOGE on their website and reposted by MAGA folks. Many look like they have the MacOS Aqua appearance. Does TPS use... #FileMaker 6 or #WebObjects or something?
I think for that you don’t want structural identity because the structure will eventually change.
But assigning global identity (like a DOM id) conflicts with componentization. There has to be something in the middle, a path builder that is not tied to the exact structure. #WebObjects #SwiftUI
It’s not usually an issue in SwiftUI because an app upgrade implies a restart, but I wonder whether such things leak in for stuff like state restoration #WebObjects #SwiftUI
Do you remember those #WebObjects links like “http://Dodge.woa/wo/2.3.2.4.1.1.1.1.2.3.4.5”? Those (usually numeric paths) are essentially a representation of the thing that is called “structural identity” in #SwiftUI.
I.e. the button in the pic would produce a link like `.woa/wo/2.2` to represent a click on the second item in the `ForEach`.
It's problematic on the web, because links can be long-living, but the server may upgrade and have a different structure.
Lately I was thinking why #SwiftUI ecosystem does not have many open-source reusable extensions. (The first framework with reusable components I did contribute was MiscKit for AppKit, ca 1991). Still, the best example is #WebObjects
I think the reason is the inability to parametrise. Like configure a reusable view with external data (e.g. JSON, XML). The focus of the most reusable frameworks is on developing controllers that use an external data dynamically configure the reusable components.
That was a fun one, I couldn't press the "Logs" tab in an installation, or "Configuration" buttons. Everything else worked. It turned out that the frontend proxy had mod_security enabled. The URL for the logs tab is the usual crazy #WebObjects link: "/OpenGroupware.woa/wo/00B300B30167410612/0056741063353276880.19.1.1.1.h.11.log".
This was treated by mod_security as an attempt to download a log file and made it block it, i.e. it consideres `.log` as a file extension 🙂