Contributors: Important changes recently

31 views
Skip to first unread message

Peter Kjaer

unread,
Dec 13, 2013, 6:25:58 AM12/13/13
to tridion-p...@googlegroups.com
Hello fellow contributors!


I've made a bunch of changes recently that you should be aware of:

1) Added Tridion 2013 SP1 support, by way of a separate installer and build compilation symbols.
2) Added a new Carbon2 theme to match the new look & feel of 2013 SP1.
3) Created an automated build for both installers that uploads the results to my Google Drive.
4) Fixed a ton of bugs and cleaned up code according to our guidelines.


One code-base

Luckily, very few changes were needed to add 2013 SP1 support; so I decided to drop the 2013 branch in favor of having everything in one code-base.
In cases where you need to have something specific to the new version (i.e. the method signature changed) you can use the TRIDION2013 compilation symbol to implement it.
There's also a Tridion2013 build configuration to go along with it (which sets the compilation symbol on the projects).

For an example, have a look at the CoreService.cs file.

Should you need to differentiate between the versions on the client-side, first try to work around it by checking for available features / elements / controls.
For an example of that, have a look at the constructor of BasePowerTool.js - which checks for the availability of the UserNotification control (which replaced the Message Center in 2013) as opposed to checking for a specific Tridion version.

If it turns out that this becomes too complicated over time, let's discuss introducing another method.


Test both installers!

What does 2013 SP1 support mean for you? The most important change is that you have to test your changes on both 2011 SP1 and 2013 SP1
Preferably before you check in the code. 

If you don't have the means to do so, please let me know and we will figure something out.


Quite a few bugs were a result of files not being included in the Visual Studio solution and thus not included in the installers.
You aren't going to notice that if you are running it straight out of your sources - so please test using the installer
You can do so by right-clicking on the PowerTools.Installer project and choosing "Build" and then "Install"; it will uninstall your previous version and install the new one.



CSS file changes

Introducing a new theme meant moving all of the CSS files into the Themes/Carbon folder first (otherwise you cannot overwrite the CSS in the theme). 
So if you create a new tool now, you should not place the CSS file next to the rest of the files - but rather create a CSS file in both the /Themes/Carbon and /Themes/Carbon2 folders.
Remember that CSS is often optional (as there's defaults for most things) so you should only add a tool-specific CSS file if you need very specific changes - and then you should only add those specific classes to the CSS.

There was a lot of duplication between the different CSS files, which I have mostly managed to clean up now. Please don't make me do that again! :)


Automated build

As mentioned, I have set up a build server that automatically creates new installers whenever there's a new check-in.
Assuming the build goes correctly, they are uploaded into the /PowerTools/latest directory of my Google Drive.
The idea is to have a "stable" directory too, where the installers will eventually end up.

I'm thinking if 3 people sign off on a new installer (having tested it on both Tridion versions), we can promote a "latest" installer to "stable".



Let's get organized?

I think those were the most important changes that happened recently.
I'd like for us to get a bit more organized and motivated in the coming year. 
I'm thinking of pruning inactive contributors (say, if you haven't checked in anything in a year and don't plan to for a while).
I also suggest having regular meetings (say once a month or every other month) to talk about what has happened recently and what we still need to do to keep the PowerTools awesome :)


Please share your thoughts on any of the above!

Message has been deleted

Alvin Reyes

unread,
Dec 16, 2013, 4:57:01 PM12/16/13
to tridion-p...@googlegroups.com
That's awesome Peter. Much appreciated. I've been able to get latest, just need to test a bit more.

Code-base
  • To confirm, does this mean we don't need to use the 2013 branch you were working on earlier?
  • Also, does Visual Studio version matter and do you have thoughts on what Visual Studio 2013 might mean to the project? I've seen a few cloud TFS-like features in the latest, but am not sure if the licensing and setup is feasible (5 user projects for Azure-backed instances).

Testing versions

It'll always be challenging to share environments across organizations (intellectual property and licensing), but maybe we could have contributors work within their organizations to test on 2011 and 2013. For example, I could coordinate with SDL US- or PS-based contributors to work and test on some of our cloud instances. Maybe partners or independents could also 

Automated Build

Awesome! I'm partial to "The Joel Test," which includes more frequent builds as a "step towards better code." Maybe related to organization, since we don't do interviews we could have committers commit to what they're going to work on. :-)

Organization

Let's start planing for January, maybe on a Thursday or Friday. Would specific (set of) times be better or could we choose to collaborate on a certain day? 

Do we need voice and screen sharing? Otherwise Flowdock would be good so it's real-time and in one place. Alternative could be the old Skype or TRex chat, if we're okay with the open nature of it (with the benefit of visibility).

Thanks all,
Alvin

Peter Kjaer

unread,
Dec 17, 2013, 4:02:06 AM12/17/13
to tridion-p...@googlegroups.com
Correct, the branch is no longer needed. I've removed it for clarity (and just to clean it up).

For Visual Studio we're still on 2010 because that seemed to be the one most people own. 
I honestly haven't even looked at 2013 yet so I cannot comment on it's benefits. 
But I doubt that the majority of contributors would have a license (that was what stopped us from upgrading to 2012 already).


I indeed meant that I would work out the testing in other ways (e.g. test it myself); I didn't intend to imply that contributors would get an image with Tridion installed :)

As for organizing, I'd say voice is best and someone can take notes to share. 

Alvin Reyes

unread,
Dec 20, 2013, 5:10:33 PM12/20/13
to tridion-p...@googlegroups.com
Cool, the tools are working on my 2013 SP1 environment so far.

Oh and I didn't think we'd get test images with Tridion. I mentioned the "challenge" with shared environments to be clear we each have to bring-our-own-VMs. I'm just thinking that teams that work close to each other might actually share their existing dev/test setups (within our respective organizations). For example, maybe I could help maintain a PowerTools setup for the SDL San Jose and/or NY.

Would a Thursday or Friday in January work, maybe at the end of the month? 
Reply all
Reply to author
Forward
0 new messages