Developers' Home

Greenstone is Open Source Software, and we encourage developers from the community to contribute. Check out the developer guide on the wiki.

Contributors are encouraged to use our online development tools. These include the developers' mailing list, the trac source code browser and the trac bug database.

The greenstone source code is kept under version control in our subversion repository.

Latest commit

r42406 by anupama @ 6.17 pm, 23rd October
I remembered Dr Bainbridge wanted the /phind and /collage webswing applications to look embedded (no window frame). Their classes can be run both as an Applet and as Application, but more recently we were forced to run them as Applications. This meant that they have window frames appearing (title bar and bezelled framing). When initially I investigated this, there wasn't AI and I hadn't worked out how this could be done. Now I thought of asking chatGPT (my question was: applet running as java application through webswing: any way to remove the window frame and make it look embedded?) and the key is to call frame.setUndecorated(true), to be done before pack()/setVisible calls, which produces the embedded look. ChatGPT share link: https://chatgpt.com/s/t_6adaed8120d4819181b15b5bd667c385 ChatGPT further said: Webswing's own FAQ specifically recommends this combination for a borderless, full-size Swing window. To get it full-size, after setUndecorated(true), it suggested the line frame.setExtendedState(JFrame.MAXIMIZED_BOTH); However, we're actually explicitly setting the size of the JFrames as was originally done in the Phind and Collage Frame (not JFrame) Applet-only code, and so I'm choosing not to maximise phind and collage now-frameless windows.

Nightly Builds and Regression Test Results

See here.

Helpful Tools

YourKit
YourKit is the creator of innovative and intelligent tools for profiling Java and .NET applications. We make use of it to improve the execution speed of Greenstone3. Take a look at YourKit's leading software products: Java profiler and .NET profiler.