We’re looking for a top-notch developer that will work on ScrewTurn Wiki. Mind you, even if STW is free and open-source, this is a paid, 6-month contract project. If you’re interested, have a look at our job posting.
Archive for the ‘Development’ Category
Open Position: .NET/ASP.NET/C# Developer
January 13th, 2011 by Dario Solera | 1 Comment | Filed in DevelopmentUpgrading to Visual Studio 2010
December 26th, 2010 by Dario Solera | 1 Comment | Filed in DevelopmentToday I upgraded the ScrewTurn Wiki solution to Visual Studio 2010, while still targeting .NET 3.5. It’s been relatively easy, except for a few MSBuild and TeamCity issues.
We were a bit tired of Visual Studio 2008 as we work with 2010 on a daily basis. Switching back to the previous version felt quite weird and uncool.
Version 3.0.3
June 24th, 2010 by Dario Solera | 6 Comments | Filed in Community, DevelopmentScrewTurn Wiki 3.0.3 is now available for download. Thanks to Masoud, we now support RTL languages and we also have the Persian localization.
I’m also very glad to announce that we have rebuilt our plugin gallery, which is now more easy to navigate and use. You can even rate plugins! The funny thing about this gallery is that it’s built entirely with STW and a few plugins that are already available. It’s kinda recursive.

Comments? Opinions?
Upgrading to Visual Studio 2010?
May 1st, 2010 by Dario Solera | 15 Comments | Filed in Community, DevelopmentWe have migrated our other Big Project to Visual Studio 2010, still targeting .NET 3.5, and everything has gone smoothly.
I quite like the new version of VS. Although it’s still Visual Studio, it has a number of little improvements that I like already (the updated IntelliSense for example).
The big question: should we migrate ScrewTurn Wiki to Visual Studio 2010? Mind you, it will continue to target .NET 3.5 for quite a long time as we don’t want to leave anyone behind. At any rate I guess the answer will be “No! Keep using Visual Studio 2008! I don’t have the new version yet!”
Opinions? Suggestions?
How We Handle Translations
April 7th, 2010 by Dario Solera | 1 Comment | Filed in Development, LocalizationScrewTurn Wiki now supports 14 languages. They used to be more, but some of them have never been updated since 2.0 (you’re welcome if you care to help).
Handling translations have always been a pain. It’s time-consuming, it’s boring, and translation are quite never up-to-date. Last year we started developing and testing an in-house tool to let volunteers translate STW directly in their web browser, using a custom web application that talked directly with our Subversion repository. The aim was to achieve zero overhead.
As you might have heard, the thing turned out to be quite useful, so we decided to make a product out of it. Well, I’m glad to announce that thanks to Nuno and Pedro, two brave Portuguese contributors, we had our first brand new translation done entirely with Amanuens, starting from .resx files generation to the final commit.
Now, take a look at this figure: the total time we spent in handling this translation is something like 3 minutes. In case we update resource files, the system will automatically highlight changes so translators will know where to look. No more files sent via email.
This will sound like an advertisement, but Amanuens really changed how we handle translations for the better and I’m very, very happy about it. I had to tell someone!
Startup Time Improvements With .NET 4.0
March 29th, 2010 by Dario Solera | No Comments | Filed in Development, Software DesignWe’re not moving to .NET 4.0 (yet), but it’s interesting to see how ScrewTurn Wiki starts up faster when run in a .NET 4.0 environment. Scott Hanselman put together a small comparison and it turns out STW starts 5.03% faster than on .NET 3.5.
It’s funny to see that our wiki engine is the fastest application in the list, but it’s also the one benefiting the smallest performance improvement. The others are all around a 10% improvement. Personally, I feel that startup time is not relevant anymore as servers are very powerful these days, moreover an improvement of 0.08s is pretty much negligible. At any rate, slower servers will benefit from the improvement.
We targeted .NET 3.5 only with STW 3.0 as we wanted to ensure that no one would be stuck to the old version because she could not upgrade .NET, and the same will happen with .NET 4.0. Although we’ll migrate the solution to Visual Studio 2010 quite soon after its official release date, we’ll still target .NET 3.5.
What’s Up?
December 14th, 2009 by Dario Solera | 2 Comments | Filed in Community, Development, LocalizationThere is nothing much going on lately, except bug fixing and translations. ScrewTurn Wiki 3.0.2 will have some completed or new languages (including Spanish, French, German and Afrikaans). The plan is to release the maintenance version as soon as those languages are ready. All non-complete languages will be remove from public releases, but will still be available in source code and nightly builds.
Besides that, we’re receiving a lot of valuable feedback on the v3 release and we’re planning changes for the next major version. Main focus area are the search engine and the editor, which got better in v3 but still require quite some work.
2009 has been a wonderful year for us, so we’d really like to thank everyone who has contributed time, translations, code, patches and feedback to the project.
There will be an interesting announcement in roughly a month, so stay tuned for updates. In the meantime, don’t hesitate to leave some feedback in the forum. Don’t forget you can also follow us on Twitter.
Building STW without Visual Studio
September 1st, 2009 by Dario Solera | 2 Comments | Filed in DevelopmentSo far, it’s not been possible to build ScrewTurn Wiki without Visual Studio 2008. Even the included MSBuild script is not sufficient, as it still requires Visual Studio to be installed on the build machine.
Yesterday night I decided to track down the reason, and I found it (with the help of Google, of course): it’s the Web Application project. This type of project is still actually a MSBuild file, but it references a set of targets that are installed by Visual Studio. Moreover, it requires the AL.exe tool (Assembly Linker), installed alongside the Windows SDK (in turn installed by Visual Studio).
The only way to trick MSBuild into building the application (without including copyrighted files in the repository) is copying the required files in the locations it expect them to be:
- “C:\Program Files\MSBuild\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets.txt” (copy in the same location)
- “C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets.txt” (optional, copy in the same location only if the build machine is x64)
- “C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\al.exe” (copy to “%WINDIR%\Microsoft.NET\Framework\v3.5\al.exe”)
- “C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\al.exe.config” (copy to “%WINDIR%\Microsoft.NET\Framework\v3.5\al.exe.config”)
You’re done. The downside is that you still need a copy of Visual Studio to do the setup, but once you copied the required files you don’t need it anymore.
The reason for all of this is simple: having a CI server without Visual Studio, meaning that it can run on our webserver (I’m not sure whether this is a good idea, but I want to give it a chance). On a side note, TeamCity seems very cool.
Roadmap Considerations + Volunteers Recruiting
August 4th, 2009 by Dario Solera | 5 Comments | Filed in Community, DevelopmentI think things are going on way too slow. Here are the plans for the future of ScrewTurn Wiki.
Version 3.0 (30 September 2009)
- Finalize the release build, fixing bugs and smoothing edges
- Enforce compatibility with web farms (for SQL-based providers)
- Write user and developer documentation
- Package the application for non-xcopy installations (Microsoft Web Application Gallery)
- Definition of commercial branches (more on this later)
Version 3.1 (January/February 2010)
- Pay some technical debt, i.e. cleanup and refactor the codebase
- Rebuild the visual editor in Silverlight (discuss in the comments)
- Implement minor features left out of v3.0
- Port to XHTML 1.1 (maybe)
Version 4.0 (July/August 2010)
- Improve providers-based architecture so that most parts of the application can be easily replaced with
- other implementations (above all editor and page renderer)
- Implement a web service interface (REST and/or SOAP)
- Port to ASP.NET MVC (discuss in the comments)
How to speed things up?
I don’t earn nearly enough money from ScrewTurn Wiki to allow me to work full-time on it, yet I still spend several hours a week working on the project (several = 8+). The sad thing is that I spend most of the time doing non-coding work, such as answering questions in the forum (which takes an incredibly big amount of time), babysitting the server, etc. These are activities that might seem boring but are needed and interesting nonetheless, so there is no point in trying to avoid them.
All that said, we need more man-hours, therefore I’m looking for two (2) volunteers with the following requirements:
- Strong knowledge of .NET and ASP.NET (obviously)
- Strong understanding of web standards and best practices (obviously)
- Excellent ability to read and write English
- Interest in the project as a user as well as a developer
- Willingness to do things the right way, with a particular attention to the users
- Generally interested in long-term involvement (but with no strings attached)
- Four hours a week of time to spend on the project (on average; anyway less than that figure would not make sense)
- Living in Europe is a plus but not mandatory (time zones are very annoying).
The project is now relatively popular and big (100 KLOC). STW is downloaded 4,500+ times a month and there is a huge need for doing things right (especially backwards-compatibility) while also listening to users’ requests. It is also not possible to open the project to everyone at this step, at least not before establishing a strong core team (jump-starting a new developer requires time).
There are some notes about the licensing model of ScrewTurn Wiki. I currently own all the IP of the project and I am in the position of selling commercial licenses to some customers. This approach cannot change in the short until there is an established business behind the project, meaning that contributors will keep the “paternity” of their work (credit is given when credit is due) but will have exactly zero rights on the IP they produce, which I will personally own as Dario Solera. I request to enforce this via a pseudo-legal written agreement. I’m sure this seems extremely rude and against open-source practices, but please keep in mind that STW is released under GPLv2 (understanding the implications is left to the reader). In case the commercial activities go well, I’m willing to share part of the money with the core contributors (the ultimate goal would be to start a business).
Development Activities
The activities the new contributors will actually do will depend on their areas of expertise and interest: no tasks will be forced on them (obviously). All development activity will be discussed in the forum so that who is interested will be able to post comments and suggestions. Contributors will be also invited to build a presence in the forum and to write some documentation (at least regarding the application parts they will develop).
Contact
I don’t really expect many people answering this call, but you are all invited to express your opinions about this matter, either publicly in the comments or privately, as you prefer.
If you are interested or have any question, please drop me a line at info@screwturn.eu – 2009-08-31: this round of “recruiting” is now closed. There will be another one as soon as possible.
Compiled Nightly Build
July 24th, 2009 by Dario Solera | 1 Comment | Filed in Community, DevelopmentAs I mentioned a couple of weeks ago, a compiled nightly build for version 3.0 is now available in the dedicated page. The build is currently performed at 9:00 AM GMT.



