The last week or so I have been working on a better way to deliver and manage multiple addins. I am also thinking about how to provide access to the source code. Originally things were all in pieces as I was learning how the various parts work and so there was no really clear picture available (to me!) of what the best way would be. I think I have found a good solution and over the next few weeks I hope to make something available.
Any comments or suggestions on the direction I am taking would be much appreciated. If you are interested in contributing any code that would also be awesome, let me know!
The IDE will recursively scan the directory tree for *.addin files.
This means that I don’t have to put addins into individual folders under “\Clarion7\accessory\addins”. For my development I am now putting all the addins into “\Clarion7\accessory\addins\ClarionEdge”.
This means that I can now provide, for example, direct access to a version control repository containing all the addins and you can simple “checkout” the whole lot at once and stay up to date with the latest changes really easily. I still intend to supply individual “sdaddin” packages, more on that later, but now this brings me to the next point…
Source code, packages and version control!
Having your source in version control is a bit of a no brainer these days and I normally do that via a local server but in this case I want to allow access to others. ReadOnly initially but if there is interest it would be nice to allow those that are keen an element of interaction too!
Currently I am trialling the free SVN service provided at https://www.assembla.com/ which is working nicely although at some point I may move to SourceForge or GoogleCode. Migration shouldn’t be a problem so that decision can wait a bit.
The cool thing about this, as I mentioned before, is that you will be able to “checkout” the addins directly into your Clarion7 IDE. Did I mention that is cool?
As for the source code, I have now created a Visual Studio (2010) solution containing all the addin projects which builds everything into a relative path (it was all using hard coded paths specific to my dev environment before… yuck) and when I get a chance I am going to add extra build automation that will automatically create the relevant sdaddin packages.
- Finalise the source cleanup and stabilise the repo.
- Hook the downloads on this site directly to the version control URLs (the great wordpress drainhole plugin allows for this which should be awesome).
- Write up some more instructions on how to checkout, update, download and/or install the addins using the various methods now available
- Continue working on new addins!
Here are some addin ideas that are either in progress or on the drawing board
- IDE theming – sneak peek here, themes courtesy of the awesome free krypton toolkit.
- A replacement StartPage – implemented in WinForms instead of a browser component which I think gives way more control over the content.
- Translations manager – still just an idea but it should be possible to provide a much easier interface to entering and updating the resource strings.
- LibIgnoreList Enhanced – Global, and more persistant interface to the entries in LibIgnoreList.xml
- CodeAnnotations – I am interested to see if this project can be adapted for clarion.
- Common image and string resources for all ClarionEdge addins.
- Macros, Refactoring, Commandline, etc, etc… are there enough hours in the day!
- When I get a chance I will listen back to the recent Webinar from ClarionLive as there were a few other addin ideas thrown around which would be good to do as well.
Oh, and who knows what the pending C7.3 and upcoming C8 will bring. That should keep things interesting!