tag:blogger.com,1999:blog-66154466903430950192024-03-05T03:01:11.612-08:00DV's notesContent management system Sitecore and management thoughtsDmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.comBlogger34125tag:blogger.com,1999:blog-6615446690343095019.post-30273790042438428792015-11-12T23:12:00.002-08:002015-11-12T23:13:43.041-08:00Sitecore’s MVP Award 2016<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<br />
<div class="MsoNormal">
<span style="font-family: "calibri" , sans-serif; font-size: 11.0pt; mso-ascii-theme-font: minor-latin; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: minor-latin;">Did you know that there are more than 15,000 certified Sitecore
developers in the world? </span><br />
<span style="font-family: "calibri" , sans-serif; font-size: 11.0pt; mso-ascii-theme-font: minor-latin; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: minor-latin;">There are some interesting stats in <a href="http://siteco.re/1PlKQRb" target="_blank">Sitecore’s MVPAward 2015 overview video.</a> </span><br />
<span style="font-family: "calibri" , sans-serif; font-size: 11.0pt; mso-ascii-theme-font: minor-latin; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: minor-latin;"><br /></span>
<span style="font-family: "calibri" , sans-serif; font-size: 11.0pt; mso-ascii-theme-font: minor-latin; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: minor-latin;">Nominations for 2016 are now open.</span></div>
Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com0tag:blogger.com,1999:blog-6615446690343095019.post-13090076806756945192015-08-04T03:40:00.001-07:002015-08-04T03:41:57.959-07:00MBO without "O"One of the most important and difficult things in Management by Objectives is a process of setting goals. There are criteria (SMART) for the goals, and KPIs for their evaluation.<br />
<br />
However, the biggest issue appears exactly on a stage of evaluating achievements. It comes from the fact that managers should evaluate the person, not the goal. This slightly contradicts some part of the MBO description, however this is the true aim of people management. For a person’s development it is very important HOW, not only WHAT.<br />
<br />
Let’s see an example of the goal “Release version 4 of MyProduct”. Does it match SMART? Well, yes. Goal is achieved at the end of the period – MyProduct v.4 is released, on time and without bugs. Good. But what does it say about the person’s work on it? For me – nothing. Did he put efforts, regular or enormous? Did he go an extra mile to make this happen? What was depending on him at all? Was it an achievement for the person or just usual activities he can perform for sure?<br />
<br />
MBO Goals are serving the following needs:<br />
<br />
<ul>
<li>Pharos to help a person grow in right direction</li>
<li>Aligning moving directions between company and an employee</li>
<li>Aligning priorities for the company and employee</li>
</ul>
<br />
<br />
Goals are not tasks. While a goal itself can be or sound as something that should be implemented, there should be assumed some efforts (not steps) behind that. This is what makes difference between good and bad goals.<br />
<br />
For people development the aim of the real analysis is exactly the efforts to achieve a goal and extra miles out of the goal. Achieving a goal from formal side is just “must have” situation, this is what a person should do as a part of his job, this is what he is being paid for. It’s a bit strange to praise a senior engineer for not failing his duties.<br />
<br />
Instructions and tasks are not the goals. There is certain level of expectation from each employee, that includes complexity of tasks he must execute.<br />
<br />
Funny thing here, that we do not always need goals to evaluate a person. Goals might become unnatural sentences that have nothing to do with reality and prevent proper people development.<br />
<div>
<br /></div>
Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com0tag:blogger.com,1999:blog-6615446690343095019.post-80811020649463817942014-12-20T23:55:00.001-08:002014-12-20T23:55:15.183-08:00Sitecore 8. Welcome future right now<br />
Welcome next step in Experience Platform - Sitecore 8!<br />
<a href="http://www.sitecore.net/Platform/Sitecore-8.aspx" target="_blank">http://www.sitecore.net/Platform/Sitecore-8.aspx</a><br />
<br />
<br />
And just a bit of how we celebrated it <a href="https://www.facebook.com/sitecoreua">https://www.facebook.com/sitecoreua</a><br />
<br />Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com0tag:blogger.com,1999:blog-6615446690343095019.post-41332482729318834682014-06-06T09:04:00.004-07:002014-06-06T09:05:20.536-07:00Worldwide Partner Conference 2014 - AWARDS<br />
Just look at the page <a href="http://www.digitalwpc.com/Awards/Pages/Home.aspx#fbid=g-MBbF3Hx5-">http://www.digitalwpc.com/Awards/Pages/Home.aspx#fbid=g-MBbF3Hx5-</a><br />
<br />
<div class="my-style-must-be-lowercaseElement-Body" style="background-color: white; color: #008272; font-family: 'Segoe UI', Segoe, 'Segoe WP', Tahoma, Verdana, Arial, sans-serif; font-size: 16px;">
Alliance Awards</div>
<div class="my-style-must-be-lowercaseElement-Body" style="background-color: white; color: #008272; font-family: 'Segoe UI', Segoe, 'Segoe WP', Tahoma, Verdana, Arial, sans-serif; font-size: 13px;">
</div>
<div class="my-style-must-be-lowercaseElement-Body" style="background-color: white; color: #505050; font-family: 'Segoe UI', Segoe, 'Segoe WP', Tahoma, Verdana, Arial, sans-serif; font-size: 13px;">
<strong>ISV Partner</strong></div>
<div class="my-style-must-be-lowercaseElement-Body" style="background-color: white; color: #505050; font-family: 'Segoe UI', Segoe, 'Segoe WP', Tahoma, Verdana, Arial, sans-serif; font-size: 13px;">
<pre style="font-family: 'segoe ui';">Winner: Sitecore</pre>
<pre style="font-family: 'segoe ui';">
</pre>
<pre style="font-family: 'segoe ui';">:)</pre>
</div>
Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com0tag:blogger.com,1999:blog-6615446690343095019.post-86082481179841274682013-11-25T06:41:00.003-08:002013-11-25T06:41:23.092-08:00 Sitecore CMS SPEAK at youtube<br />
Short demos of the SPEAK UI framework in Sitecore CMS. The purpose of
these videos is to show off what can be done wíth SPEAK and how quickly
it can be done.<br />
<br />
The <a href="https://www.youtube.com/playlist?list=PLWIbrolNZWflnBq32WcxNejEgiT2lyEwG#!" target="_blank">link </a>Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com0tag:blogger.com,1999:blog-6615446690343095019.post-25996120705585482732013-10-23T00:37:00.000-07:002013-10-23T01:10:12.207-07:00UA Mobile 2013 Conference<br />
Sitecore is paying growing attention to the mobile development.<br />
<br />
It's becoming regular for us to participate in different conferences devoted to mobile platforms development. This year I'm happy to see two our employees already as <b>speakers </b>at the UA Mobile 2013 Conference. <a href="http://www.sitecore.net/Ukraine/News/2013/UAMobile-2013.aspx">http://www.sitecore.net/Ukraine/News/2013/UAMobile-2013.aspx</a><br />
<br />Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com0tag:blogger.com,1999:blog-6615446690343095019.post-51133401209701679812013-10-15T11:11:00.000-07:002013-10-15T11:13:17.132-07:00Sitecore Careers in LinkedIn<br />
<span style="font-family: Arial,Helvetica,sans-serif;">Take a look at the updated Sitecore Career page in LinkedIn</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"> <a href="http://www.linkedin.com/company/sitecore/careers?trk=top_nav_careers">http://www.linkedin.com/company/sitecore/careers?trk=top_nav_careers</a></span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">There are some well-known (for Sitecorians at least) faces :) </span>Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com0tag:blogger.com,1999:blog-6615446690343095019.post-33692825181248570132013-10-08T22:38:00.002-07:002013-10-08T22:38:57.940-07:00Sitecore Users Virtual Summit<br />
<h4>
Sitecore UsersVirtual Summit</h4>
<a href="http://www.sitecoreusersvirtualsummit.com/">http://www.sitecoreusersvirtualsummit.com/</a>Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com0tag:blogger.com,1999:blog-6615446690343095019.post-57224742772367793832013-08-05T01:33:00.004-07:002013-08-05T01:33:42.436-07:00Gartner: Magic Quadrant for Web Content Management, 2013 - is Sitecore a leader this year?Gartner: Magic Quadrant for Web Content Management, 2013 - is Sitecore a leader this year?<br />
<br />
Find out it at <a href="http://www.sitecore.net/Resources/Analyst-Reports/Gartner-Magic-Quadrant.aspx">http://www.sitecore.net/Resources/Analyst-Reports/Gartner-Magic-Quadrant.aspx</a><br />
Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com0tag:blogger.com,1999:blog-6615446690343095019.post-31344327151581320902013-05-22T02:32:00.000-07:002013-05-22T02:32:18.729-07:00Sitecore 7!<br />
<br />
<h1 class="pagetitle" style="background-color: white; border: 0px; color: #646464; font-family: Arial, Helvetica, sans-serif; font-size: 21px; font-weight: normal; line-height: 25px; margin: -4px 0px 10px; outline: 0px; padding: 0px; position: relative; vertical-align: baseline; z-index: 0;">
Sitecore Announces Sitecore 7, Powering a New Level of Personalized Digital Experiences</h1>
<div>
<br /></div>
<div>
Read more at <a href="http://www.sitecore.net/Company/News/Press-releases/2013/05/Sitecore-7.aspx">http://www.sitecore.net/Company/News/Press-releases/2013/05/Sitecore-7.aspx</a></div>
<div>
<br /></div>
Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com0tag:blogger.com,1999:blog-6615446690343095019.post-47882389856777949672012-12-11T02:21:00.002-08:002012-12-11T02:21:42.985-08:00Sitecore Certification training is now in Ukraine<br />
I've been receiving requests for Sitecore Certification trainings availability in Ukraine.<br />
<br />
Now we have the one available in Dnepropetrovsk, Ukraine in January 2013.<br />
Here is the link: <a href="http://www.sitecore.net/Support/Training/Developer-trainings/Sitecore-Developer-Quickstart-Series.aspx">http://www.sitecore.net/Support/Training/Developer-trainings/Sitecore-Developer-Quickstart-Series.aspx</a><br />
<div>
<br /></div>
Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com0tag:blogger.com,1999:blog-6615446690343095019.post-43359287395344409232012-11-14T02:35:00.000-08:002012-11-14T02:38:50.663-08:00Sitecore Developer Tour<br />
CMS for Developers. That's true - don't waste time for writing the same code from project to project, use time to be creative.<br />
<a href="http://www.youtube.com/watch?v=eDp0bBLVi0k&feature=youtu.be">http://www.youtube.com/watch?v=eDp0bBLVi0k&feature=youtu.be</a>Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com0tag:blogger.com,1999:blog-6615446690343095019.post-50827360819664872212012-09-14T13:01:00.000-07:002012-09-14T13:01:48.517-07:00Sitecore is a industry leader! See the 2012 Gartner Magic Quadrant Report<br />
You can get the full report <a href="http://www.sitecore.net/Landing/Global/Q3_2012/GL_WP_BR2_GartnerMQ_WCM_2012_PR">here</a>.<br />
<br />
<img alt="Gartner Magic Quadrant for WCM 2012" src="http://www.sitecore.net/~/media/Email%20Campaign%20Manager/Corporate/Nurture%20Q3%202012/Gartner%20MQ%20WCM%202012.ashx" />
Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com0tag:blogger.com,1999:blog-6615446690343095019.post-52181101665424253312011-09-29T23:23:00.000-07:002011-09-29T23:23:41.654-07:00Sitecore won the ‘Best IT Company of Denmark’ award<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin;"><br />
</span><br />
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin;">Sitecore won the ‘Best IT Company of Denmark’ award: </span><a href="http://www.computerworld.dk/art/197256?a=na&i=1">http://www.computerworld.dk/art/197256?a=na&i=1</a><br />
<div class="MsoNormal"><o:p></o:p></div><span class="Apple-style-span" style="font-family: Calibri, sans-serif;"><span class="Apple-style-span" style="font-size: 15px;"><br />
</span></span><br />
<span class="Apple-style-span" style="font-family: Calibri, sans-serif;"><span class="Apple-style-span" style="font-size: 15px;">it's in Danish, you can use Google translate, but the main point is already in the title of this post :)</span></span>Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com0tag:blogger.com,1999:blog-6615446690343095019.post-11896130917381576902011-06-01T08:54:00.000-07:002011-06-01T08:54:24.928-07:00CaseStudy Azure CMS @ Sitecore<div class="MsoNormal"><br />
Today Microsoft Ukraine has published CaseStudy Azure CMS @ Sitecore (in Ukrainian)<o:p></o:p></div><div class="MsoNormal"><a href="http://www.microsoft.com/ukraine/casestudies/casestudy.aspx?id=82">http://www.microsoft.com/ukraine/casestudies/casestudy.aspx?id=82</a><o:p></o:p></div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><br />
</div>Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com0tag:blogger.com,1999:blog-6615446690343095019.post-68006653226979253172011-05-05T06:35:00.000-07:002011-05-05T06:36:03.896-07:00Coninuous Integration for Sitecore projects<div class="MsoNormal">Continuous Integration in development is gaining its role as an essential part of project efficiency. We are in Sitecore got understanding of that quite some time ago and now even looking for a CI Specialist who will be serving our build framework full-time.<o:p></o:p></div><div class="MsoNormal"><br />
However the goal of this article is not to describe CI in Sitecore, but to find best CI practices for all Sitecore-based solutions.<o:p></o:p><br />
<br />
</div><div class="MsoNormal">What does distinguish Sitecore solutions from the rest of Solutions?<o:p></o:p></div><div class="MsoListParagraphCxSpFirst" style="mso-list: l1 level1 lfo1; text-indent: -.25in;"><br />
<ul><li>-<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span>Any solution is an “superstructure” on top of CMS</li>
<li>-<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span>A solution contain not only files, but content items which cannot be just copied as files</li>
<li>-<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span>Heavy dependency on underlying CMS version</li>
<li>-<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span>Similarity of steps related CMS-base part of a solution</li>
</ul><o:p></o:p></div><div class="MsoListParagraphCxSpMiddle" style="mso-list: l1 level1 lfo1; text-indent: -.25in;"><o:p></o:p></div><div class="MsoListParagraphCxSpMiddle" style="mso-list: l1 level1 lfo1; text-indent: -.25in;"><o:p></o:p></div><div class="MsoListParagraphCxSpLast" style="mso-list: l1 level1 lfo1; text-indent: -.25in;"><o:p></o:p></div><div class="MsoNormal"><br />
Let’s see how to make building Sitecore solutions effective. I’ve grouped principles by a few categories depending on where they are applied. We follow these principles in Sitecore.<o:p></o:p></div><div class="MsoNormal">Hereafter I assume Cruise Control .NET, nAnt and SVN are meant, though the principles below should be valid for any set of tools. Bundle CC.NET+nAnt+SVN looks the optimal since free, easy configurable and being developed further.<o:p></o:p></div><div class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><br />
</b><br />
<b style="mso-bidi-font-weight: normal;">Architecture of CI process<o:p></o:p></b><br />
<b style="mso-bidi-font-weight: normal;"><br />
</b></div><div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo2; text-indent: -.25in;"><b style="mso-bidi-font-weight: normal;">1.<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></b><b style="mso-bidi-font-weight: normal;">Separate build server and project scripts, consider build server a live project<o:p></o:p></b></div><div class="MsoListParagraphCxSpMiddle">Re-use common operations which are not specific to a particular project, i.e. checkout, cleanup, etc. The best way is to leave this on build machine. This way you not only avoid duplicating appropriate code, but is able to maintain this part separately and is sure it works for any project.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle">Build server is a machine which:<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 1.0in; mso-add-space: auto; mso-list: l1 level2 lfo1; text-indent: -.25in;"><span style="font-family: 'Courier New';">o<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></span> contains up-to-date build framework<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 1.0in; mso-add-space: auto; mso-list: l1 level2 lfo1; text-indent: -.25in;"><span style="font-family: 'Courier New';">o<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></span>responsible for common actions<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 1.0in; mso-add-space: auto; mso-list: l1 level2 lfo1; text-indent: -.25in;"><span style="font-family: 'Courier New';">o<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></span>calls project build script<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle" style="margin-left: 1.0in; mso-add-space: auto; mso-list: l1 level2 lfo1; text-indent: -.25in;"><span style="font-family: 'Courier New';">o<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></span>evaluates result of project build script execution<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle">If you consider build framework a usual project and store in version control system, you will not need take care of deploying changes on build server. Add a project on the build server which builds the build framework. If you make any changes to a source of it, you are it will be picked up by each server and “deployed” locally.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle">The same applies to configuration files: store config files in the repository and let CC.NET update own configuration. When you need make changes to server’s configuration, you can do that by committing a new configuration file to a repository.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle">Aside effect of this approach is a security: you don’t need access to a build server to manage it. Since build servers are dealing with source code, they should protected appropriately. You can store config files in not so secured repository (build server reads it, not vice versa), therefore grant access to more people and not to be a bottleneck or manage server from VPN connection. In details the approach is described at <a href="http://confluence.public.thoughtworks.org/display/CCNET/Configure+CruiseControl.Net+to+Automatically+Update+its+Config+File">http://confluence.public.thoughtworks.org/display/CCNET/Configure+CruiseControl.Net+to+Automatically+Update+its+Config+File</a><o:p></o:p><br />
<br />
</div><div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo2; text-indent: -.25in;"><b style="mso-bidi-font-weight: normal;">2.<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></b><b style="mso-bidi-font-weight: normal;">Use CC.NET config validation<o:p></o:p></b></div><div class="MsoListParagraphCxSpMiddle">When you make build server upgrade own configuration, be sure to validate new config file, otherwise the whole server falls. Ccnet.exe console application has an option –validate, which allows check that CC.NET can be started with such a configuration file.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle"><a href="http://confluence.public.thoughtworks.org/display/CCNET/The+Server+Console+Application">http://confluence.public.thoughtworks.org/display/CCNET/The+Server+Console+Application</a><b style="mso-bidi-font-weight: normal;"><o:p></o:p></b></div><div class="MsoListParagraphCxSpMiddle"><br />
</div><div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo2; text-indent: -.25in;"><b style="mso-bidi-font-weight: normal;">3.<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></b><b style="mso-bidi-font-weight: normal;">Build server scalability<o:p></o:p></b></div><div class="MsoListParagraphCxSpMiddle">Updating a build framework by a build server can be assured by having an obligatory configuration for all servers. This can be achieved by separating config files and using include feature.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle">Imagine the setup:<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle">svn://server/builds<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle"> |__ ccnet.common.config<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle"> |__ buildserver1.config<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle"> |__ buildserver2.config<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle"> |__ buildserver3.config<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle"><br />
</div><div class="MsoListParagraphCxSpMiddle">Each buildserver*.config files includes the common configuration config file.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle">Name of the *.config file corresponds to the names of the servers, a build server takes config with proper name.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle">Adding a new server is restoring it from disk image and committing a new configuration file into the repository.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle"><br />
</div><div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo2; text-indent: -.25in;"><b style="mso-bidi-font-weight: normal;">4.<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></b><b style="mso-bidi-font-weight: normal;">Let project build itself, developers are responsible for own project<o:p></o:p></b></div><div class="MsoListParagraphCxSpMiddle">Depending on a project size, build process can be either delivered to separate integration team or done by developers. In general a person (team) who is responsible for delivery, should be responsible for building. Assuming size of the Sitecore solutions, passing build script to a separate team is not the most efficient way which leads to slow turnover. Build script is a part of source code and maintained by developers (who are in charge of delivery and know better what should be delivered).<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle">Build infrastructure should be the same in a company and not build for each project separately. I.e. once a company builds the build infrastructure and then developers just use facilities without digging into build servers work, they interact with build infrastructure with according to common rules.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle">Build script is backed up as a part of source code and therefore never lost.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle">When you should get back to a project later or something happens to a build server, you should not assembly parts of a project to resume work on it – everything is one bundle.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle"><br />
</div><div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo2; text-indent: -.25in;"><b style="mso-bidi-font-weight: normal;">5.<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></b><b style="mso-bidi-font-weight: normal;">Ensure script run on developers’ PCs<o:p></o:p></b></div><div class="MsoListParagraphCxSpMiddle">Good thing of having build script a part of source code, is that you can build a project on any PC with proper environment (e.g. nAnt). A developer can test build script on own machine before committing it to the source repository (like he compiles before commit), debug the script.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle"><br />
</div><div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo2; text-indent: -.25in;"><b style="mso-bidi-font-weight: normal;">6.<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></b><b style="mso-bidi-font-weight: normal;">Ensure logic progressiveness<o:p></o:p></b></div><div class="MsoNormal">Each project can be covered by a few of build projects with raising number of steps: <o:p></o:p></div><div class="MsoListParagraphCxSpFirst" style="mso-list: l1 level1 lfo1; text-indent: -.25in;">-<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span>short one (cruise), which check that a new piece of code doesn’t break the compilability of a project trunk (or working branch). It runs on each commit and makes minimal compilation to ensure there is sense to run wider steps.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle" style="mso-list: l1 level1 lfo1; text-indent: -.25in;">-<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span>full one (nightly) – the complete build run in the night for a project trunk (or working branch). It passes all the steps necessary for delivery (thanks to Cruise the code is assured to compile), might include running autotests; usually passed to QA for testing.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle" style="mso-list: l1 level1 lfo1; text-indent: -.25in;">-<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span>full one (release) – this one is equal to nightly, but can be run for svn tags. Having separate release build decreases time for switching a sandbox to a new location, also you can force it using other special conditions (like creating a new tag in the repository).<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle"><br />
</div><div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo2; text-indent: -.25in;"><b style="mso-bidi-font-weight: normal;">7.<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></b><b style="mso-bidi-font-weight: normal;">Include automated tests into CI<o:p></o:p></b></div><div class="MsoListParagraphCxSpMiddle">That is undoubted disaster when QA returns build immediately because of silly errors. Try to include running as many automated tests as possible so developers could see results before QA picks up the build.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle">Taking into account nightly builds, you shift the tests execution to nights, that saves working time.<o:p></o:p></div><div class="MsoListParagraphCxSpLast">A separate server can be used for running tests. It includes special test environment and frees build server for other projects. Consider the setup: build script copies the project output to some shared folder over network, the Sitecore installation is installed and test are run (all is possible with usual CC.NET + nAnt).<o:p></o:p></div><div class="MsoNormal" style="text-indent: .5in;"><br />
</div><div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo2; text-indent: -.25in;"><b style="mso-bidi-font-weight: normal;">8.<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></b><b style="mso-bidi-font-weight: normal;">Separate a project and underlying CMS<o:p></o:p></b></div><div class="MsoListParagraphCxSpMiddle">It’s often said that a project should be ready to be run right after checkout. However I cannot agree it’s true for all cases. E.g. upgrade on CMS can lead to extensive changes to source code, while no actually changes to a project done. In case you store your project files only, you can checkout it to any CMS website root folder. Even if you want to tight you code to a specific CMS version – keep it in source code as a ZIP file and make unzip part of a build process.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle">The same applies to configuration files – either use include files or patch files during build.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle">You can also restore items from serialization during building.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle"><br />
</div><div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo2; text-indent: -.25in;"><b style="mso-bidi-font-weight: normal;">9.<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></b><b style="mso-bidi-font-weight: normal;">Share resources<o:p></o:p></b></div><div class="MsoListParagraphCxSpMiddle">Create a storage (e.g. SVN repository) which can host resources for using by projects. Great example here is CMS: if a few projects use one CMS version as a base, it’s not efficient to keep it along with each project source code. Also svn operations with binary files (checking for modifications) is slow.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle"><br />
</div><div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo2; text-indent: -.25in;"><b style="mso-bidi-font-weight: normal;">10.<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></b><b style="mso-bidi-font-weight: normal;">Build in Sandbox, avoiding unnecessary copying.<o:p></o:p></b></div><div class="MsoListParagraphCxSpMiddle">I didn’t make special measurements, but disk operations remain the slowest, especially with huge number of small files. Build in the sandbox and clean it up afterwards – that will be much faster than making a complete copy of a sandbox.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle">Cleanup can be a part of a build server tasks, not repeated in each script. Build server revert changes in the sandbox before starting building a project itself.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle"><br />
</div><div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo2; text-indent: -.25in;"><b style="mso-bidi-font-weight: normal;">11.<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></b><b style="mso-bidi-font-weight: normal;">Special read-only account to access sources<o:p></o:p></b></div><div class="MsoListParagraphCxSpMiddle">To avoid accidental breaking the source code and sharpen security, use special read-only accounts to access source code by build script from build server.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle">Build server can store cached authorization, so nothing about access credentials is present in the build script.<o:p></o:p></div><div class="MsoListParagraphCxSpMiddle"><br />
</div><div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo2; text-indent: -.25in;"><b style="mso-bidi-font-weight: normal;">12.<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></b><b style="mso-bidi-font-weight: normal;">Launching Sitecore during build<o:p></o:p></b></div><div class="MsoListParagraphCxSpMiddle">It’s pretty easy to launch Sitecore during build for executing some operations in Sitecore context and using Sitecore API. Use free development web server from Microsoft <b style="mso-bidi-font-weight: normal;">WebDev.WebServer.exe </b><o:p></o:p></div><div class="MsoListParagraphCxSpMiddle">at some port reserved for build server. <o:p></o:p></div><div class="MsoListParagraphCxSpLast">To launch Sitecore and call API, not to use its backend, you don’t need the complete installation, therefore can save time for this step.<b style="mso-bidi-font-weight: normal;"><span style="color: red;"><o:p></o:p></span></b></div><div class="MsoNormal"><br />
</div>Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com1tag:blogger.com,1999:blog-6615446690343095019.post-73564142599571147822011-02-07T05:09:00.000-08:002011-02-07T05:10:38.760-08:00Sitecore Serialization Guide<span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;">I'm glad to see that <b>Sitecore Serialization Guide</b> is published on the SDN:</span><br />
<span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"> <a href="http://sdn.sitecore.net/Reference/Sitecore%206/Serialization%20Guide.aspx">http://sdn.sitecore.net/Reference/Sitecore%206/Serialization%20Guide.aspx </a></span><br />
<span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"><br />
</span>Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com0tag:blogger.com,1999:blog-6615446690343095019.post-75433407304889481362011-01-21T11:11:00.000-08:002011-01-21T11:11:54.894-08:00Dreamcore - Sitecore Partner Conference will be this year as well!<br/><br />
It's becoming an interesting tradition - annual Sitecore Conference for our partners. As for me it shows how highly Sitecore appreciates own Partners.<br />
<br/><br />
Perhaps you will find it interesting for you as well <a href="http://sitecore.net/dreamcore2011" title="Dreamcore 2011">Dreamcore 2011</a><br />
<br/>Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com0tag:blogger.com,1999:blog-6615446690343095019.post-27546738346252134952011-01-11T08:03:00.000-08:002011-01-11T08:04:45.405-08:00.NET CMS Sitecore team - who we are</br><br />
Now we have a section on our Sitecore <a href="http://www.sitecore.net/">web site</a> about our team. It's just initial state, but be sure UA team will try to describe ourselves as much as possible. :)<br />
<br />
<b>Who We Are:</b> <a href="http://www.sitecore.net/Company/Who-We-Are.aspx"> http://www.sitecore.net/Company/Who-We-Are.aspx</a><br />
<br />
</br>Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com0tag:blogger.com,1999:blog-6615446690343095019.post-26575473358343713522011-01-04T23:00:00.001-08:002011-01-04T23:02:25.743-08:00Sitecore has become one of only 12 partners to have a dedicated presence on the Microsoft Campus<br/><br />
I don't think I can add something, just share the link<br />
<a href="http://www.cmswire.com/cms/web-cms/sitecore-expands-microsoft-relationship-heads-to-campus-009700.php">http://www.cmswire.com/cms/web-cms/sitecore-expands-microsoft-relationship-heads-to-campus-009700.php</a><br />
<br/>Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com0tag:blogger.com,1999:blog-6615446690343095019.post-64154061036444683472010-11-12T02:54:00.000-08:002010-11-12T02:54:41.875-08:00Custom CC.NET plugin and validationI have developed a small custom publisher for CruiseControl.NET (it moves output files instead of copying them, cleans target folder before moving files and fixes a small issue in BuildPublisher).<br />
<br />
Everything went well on the test server, but launching it on live build servers unexpectedly failed.<br />
We are using "ccnet.exe --validate" to prevent crashing a server because of incorrect configuration, and new configuration file simply didn't pass validation. Though the configuration starts and works fine, just validation fails.<br />
<br />
[<i><span class="Apple-style-span" style="font-size: small;">Long unsuccessful searching story is omitted</span></i>]<br />
<br />
The solution: add a key "PluginLocation" into ccnet.exe.config file under AppSettings sections. Even if it points to the ccnet server folder, where, according to the documentation, ccnet server sees all assemblies by default.Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com0tag:blogger.com,1999:blog-6615446690343095019.post-21449324724894471952010-10-26T01:15:00.000-07:002010-10-26T01:15:50.668-07:00Prestigious award for Sitecore UkraineThe most popular IT development community portal in Ukraine, <a href="http://developers.org.ua/">http://developers.org.ua</a>, has presented Sitecore Ukraine with the Best IT Company Award in the “Mid-sized” category.<br />
<br />
For the first time in history, all IT people in all IT companies across the Ukraine have been asked to rate their employers, according to their job satisfaction and general view of their employer, and we’re so proud that we came out on top! <br />
<br />
The selection for the inaugural award was based on anonymous questionnaires, which makes the win even more impressive. <br />
<br />
<br />
There were 3 categories: - Small Companies (<50 engineers), Mid-sized Companies (50-200 engineers – including Sitecore) and Large Companies (>200 engineers). There were 8 companies nominated in “the Sitecore group”, and 3 of them were from Dnipropetrovsk<br />
<br />
<br />
The winner IS Sitecore Ukraine!<br />
<br />
<a href="http://www.developers.org.ua/archives/max/2010/10/26/rating-2010-summary/">http://www.developers.org.ua/archives/max/2010/10/26/rating-2010-summary/</a><br />
(sorry, in Russian only so far)<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3dKgd0zK1t95grVFJZhz0_nOei0Mu2vyqBYsosgp_0BQlow8zZ4cg4Kr-X38mb5suS4-FOm57INm76ncTfmjPe5_N6DzVDKVkQeMujpA9C5W4TmoMedb0nCliuFPRvIL-1tjVH9MEYvs/s1600/badge-en-200x150-win.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3dKgd0zK1t95grVFJZhz0_nOei0Mu2vyqBYsosgp_0BQlow8zZ4cg4Kr-X38mb5suS4-FOm57INm76ncTfmjPe5_N6DzVDKVkQeMujpA9C5W4TmoMedb0nCliuFPRvIL-1tjVH9MEYvs/s1600/badge-en-200x150-win.png" /></a></div><br />
<br />
Sitecore Ukraine is very proud of this recognition from our own employees. Following common Sitecore Corporation spirit and values we continuously try to build the best possible team. Each Sitecore employee should derive pleasure from working on an excellent team. Naturally, there’s always room for improvement, and we have _people_ who can do just that.<br />
<br />
Big "thanks" goes to everyone in our team!<br />
<br />
Everything is in our hands – everyone is important!<br />
<br />
<div><br />
</div><div><br />
</div>Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com2tag:blogger.com,1999:blog-6615446690343095019.post-80915286770736046262010-09-04T00:08:00.000-07:002010-09-04T00:09:01.134-07:00Sitecore Blogs moved to own websiteIt's interesting to note, that a few Sitecore bloggers have moved own blogs to Sitecore website. It definitely introduces some convenience: blogs are structured, gathered in one place and, one of the most important, - search through all Sitecore blogs, which is awesome.<br />
<br />
Just look at the <a href="http://www.sitecore.net/en/Community.aspx">http://www.sitecore.net/en/Community.aspx</a><br />
<br />
I will continue with this host so far.Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com0tag:blogger.com,1999:blog-6615446690343095019.post-7731088602320059782010-03-25T01:50:00.000-07:002010-03-25T01:50:42.132-07:00Some managementMaybe an unexpected non-technical post. But my primary role is a manager, though I'm not dropping programming and do some tools or investigations from time to time.<br />
<br />
Have no idea if it's my invention or usual practice. At least I haven't read any "clever" books (I'm sceptical about most of them, but that's another topic).<br />
<br />
Let's see:<br />
- One day a person saw our ads and came to us.<br />
- Now (s)he has own opinion about the Sitecore.<br />
<br />
It makes great sense to ask people say what attracted them in Sitecore ads and what they wouldn't like to see there. Indirect feedback except for just improving the ads, isn't it?<br />
<br />
Proper feedback is a key for everything.<br />
<br />
That's what I have just asked our senior developers to do.<br />
<br />
You are welcome to express your opinion about the idea.Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com0tag:blogger.com,1999:blog-6615446690343095019.post-5322936211066773422010-03-10T23:35:00.000-08:002010-03-10T23:35:03.925-08:00Web Content Management: get data easy!Web Content Management: one of the difficulties I saw customers faced with were moving data from their existing sites, based on "old" engines or even static, to desired Web Content Management systems, like Sitecore CMS. Often they dropped an idea of upgrading just because didn't want or couldn't put efforts to just moving the existing content.<br />
<br />
I've just seen the demo by Stephen Moore from Kapow - "<a href="http://kapowtech.com/demos/sitecore_aarhus.wmv">Migrating Web content into Sitecore: 8 Minute Demo</a>". Now moving data to Sitecore becomes easier. Interesting things that data can be taken even from front-end of the existing site. It worth seeing!Dmitry Vasilinenkohttp://www.blogger.com/profile/16464164466773992855noreply@blogger.com1