I have a wish, that there might be a Gemstone/S day at ESUG next year – with more content/presentations/Talks around that product. Perhaps user cases, how development is done and what has been achieved over the years ?
I know that there are many, many interesting projects out there and I would like to hear and see those projects – presented in talks.
And there are more topics around this technology I would like to here about. Some of the topics I would consider:
- Jade – how does the interaction with Gemstone/S works
- Jade – extending the Dolphin UI with special own needs
- tODE – current state and presentation
- Using indexes under Gemstone/S – problems, pitfalls and all that stuff
- Special concurrency support: RC-Classes, Counters
- Events from GEMs to GEMs, why, where and how
- Administration Task – Starting, Stopping, Backup, Restore, Updating
- Short introduction into the C programming of Gemstone/S
- How does it work Java and Smalltalk against one stone
- Development model under Gemstone
That are the topics I would like to hear about …
Further ideas ?????
When creating models with PUM there were places where the user could type-in text for documentatation purposes.
Actually this was only meant to be ASCII text, but today we moved away from that and now we are moving towards the XML based documentation process introduced by Microsoft: Sandcastle and/or NDoc.
The documentation is still exported for the other languages also, but now the documentation everywhere includes the XML-tags introduced by Sandcastle and NDoc.
Starting with that we create the documentation for our public APIs by using Print&Manual and their Sandcastle version – leading to a HMTL based documentation for the core code.
A newly created source code from PUM should now be copied to the client projects in VS2017, compiles it and Print&Manual calls Sandcastle to produce the content and then publishes the result as HTML-pages – a typical job for Jenkins under Windows.
Now, with this target in mind, I had to write more documentations in PUM with much more information.
I added support for persistent shared counter objects available in the Gemstone/S system. Due to the limited number of such objects in the database (around 1500) the usage is normally done only in singletons or cases like this.
For the client developer it looks like a normal (read-only) integer numerical attribute.
When working with the JS library ExtJS from Sencha, you may have noticed, that with the Premium version you get support for a calendar widget and model and descriptions how to implement the server side.
I added helper methods to create compatible classes with the Sencha ExtJS calendar model and changed the ExtJS source code generator to generate the correct code for it.
So the user can create supporting classes with one click and had to create CRUD stores for Events and Calendars are usually.
So now the calendars and the events are stored in the Gemstone/S database. Queries can be done with remote filtering or remote gsquery execution.
Well, porting was done within one hour – feels and smells like VA 8.6.3, but now with 64 bit !
Last weekend we had general elections in Germany – and most of you may know the results.
Located at the ARD-Hauptstadtstudio for five days we collect all needed results for the main broadcaster ARD and around 15 other tv-studios in various towns in Germany (broadcaster BR, SR, SWR, NDR, RBB, WDR, Deutsche Welle, HR)
Again this was an election with Smalltalk taking part in our presentation of the results – with Gemstone/S as the “backbone” for the Internet presentation systems and the Internet input system. We presented the results for the SWR in Baden-Württemberg and Rheinland-Pfalz on the Internet.
Technically the systems were used as described here and here .
After the introduction of simple calculated attributes I had the need to introduce user changeable calculated attributes – with a default source code defined by the modelling tool – but via API calls the user can change this code with pure Smalltalk (so a compiled block is created and used to compute the result) or reset it back to the default code.
For the client side the output of these attributes look like read-only attributes.