scheduleTrigger is not working in 1.8.3.0 - msbuild

i am using CruiseControl.NET 1.8.3.0.but scheduleTrigger is not firing. i want my build should be created every day on 2 o'clock .
<triggers>
<scheduleTrigger time="02:00" buildCondition="ForceBuild" />
</triggers>
pls let me know how to resolved it asap.

That's 2 am. CruiseControl.NET uses a 24 hour clock. So if you wanted to run the build every day at 2 pm, use 14:00 as the time.
<triggers>
<scheduleTrigger time="02:00" buildCondition="ForceBuild" />
</triggers>
Also, have you loaded your ccnet.config file in CCValidator? It has a good GUI for browsing the configuration file's object model. This may help you track down where your configuration isn't working.

Related

Radzen Chart adjustment

I'm trying to graphically show balance/value of some bank account throughout time. For example, in the period of 2 years there were input/output transactions to/from bank account and they were not done periodically, let's say each day, there were few transactions in same day, then for few months nothing, then again few in the same day etc, so the graph looks messy.
And each of this dot on graph actually represents few transactions in that day and it's not really readable and looks silly, especially this long period of no changes. Is there any way to fix this up a little bit using Radzen or maybe some other tool?
Radzen code I used for shown graph:
<RadzenChart>
<RadzenLineSeries Smooth="false" Data="#HistoricalTransactionArray" CategoryProperty="Date" Title="Value" LineType="LineType.Solid" ValueProperty="Quote">
<RadzenMarkers MarkerType="MarkerType.Square" />
</RadzenLineSeries>
<RadzenCategoryAxis Padding="1" FormatString="{0:dd-MM-yyyy}" />
<RadzenValueAxis>
<RadzenGridLines Visible="true" />
<RadzenAxisTitle Text="Value" />
</RadzenValueAxis>
</RadzenChart>

SCORM 2004 Rollup with single sco

I'm having issues rolling up a completion from a completed item.
I'm running this on SABA and I can successfully set the completion_status and success_status on the item but having issues rolling it up to the next level on the LMS, both satisfied and notSatisfied.
I find these rules utterly confusing. I do mostly work in SCORM 1.2.
This is my chunk to-date. Any assistance is really, really appreciated.
<organizations default="ORG-487461">
<organization identifier="ORG-487461">
<title>STATUS TESTING - 1d</title>
<item identifier="ACT-687940" identifierref="RES-123054">
<title>Launch</title>
<imsss:sequencing>
<imsss:deliveryControls completionSetByContent="true" objectiveSetByContent="true" />
</imsss:sequencing>
</item>
<imsss:sequencing>
<imsss:controlMode choice="true" flow="true"/>
<imsss:rollupRules>
<imsss:rollupRule childActivitySet="any">
<imsss:rollupConditions>
<imsss:rollupCondition condition="satisfied"/>
</imsss:rollupConditions>
<imsss:rollupAction action="satisfied"/>
</imsss:rollupRule>
<imsss:rollupRule childActivitySet="all">
<imsss:rollupConditions conditionCombination="any">
<imsss:rollupCondition operator="not" condition="satisfied" />
</imsss:rollupConditions>
<imsss:rollupAction action="notSatisfied" />
</imsss:rollupRule>
</imsss:rollupRules>
<imsss:rollupRules rollupObjectiveSatisfied="true" rollupProgressCompletion="true" />
</imsss:sequencing>
</organization>
</organizations>
I was deep in this a few years back but I'll try to assist based on some of my prior examples.
I think you need to set a primary objective. Else - I don't believe there is anything to roll up to. I don't however know that for a fact, as it would require going back and doing a deeper dive in to the SCORM 2004 3rd/4th edition spec and covering the IMSS Sequencing section.
Small example for an activity:
<!-- Activity 1 -->
<title>ims_sequencing_objectives</title>
<item identifier="ACT-001" identifierref="RES-001">
<title>SCOBot-QUnit1</title>
<imsss:sequencing IDRef="COMMON_SEQ_RULES">
<imsss:sequencingRules>
<!-- If you also wanted to limit the number of attempts -->
<imsss:preConditionRule>
<imsss:ruleConditions>
<imsss:ruleCondition condition="attemptLimitExceeded" />
</imsss:ruleConditions>
<!-- Can not choose -->
<imsss:ruleAction action="disabled" />
</imsss:preConditionRule>
</imsss:sequencingRules>
<imsss:limitConditions attemptLimit="1" /> <!-- attemptAbsoluteDurationLimit="" set if max_time_allowed -->
<imsss:rollupRules objectiveMeasureWeight="0" />
<imsss:objectives>
<!-- My Understanding is SCO1_SATISFIED will assume the scoring of the SCO, then you can continue to SCO 2 after the preCondition is met. This SCO is just a "intro" no score reported. Removed satisfiedByMeasure -->
<imsss:primaryObjective objectiveID="SCO1_SATISFIED">
<imsss:mapInfo targetObjectiveID="com.cybercussion.SCOBot.ACT-001" readSatisfiedStatus="true" writeSatisfiedStatus="true" readNormalizedMeasure="true" writeNormalizedMeasure="true" />
</imsss:primaryObjective>
</imsss:objectives>
</imsss:sequencing>
Then a subsequent activity would allow the LMS Player the opportunity to decide whether it should allow the navigation/show it using pre/post rules. And I would agree this gets confusing. Further more its even harder to unit test unless you have some rules engine that can parse this realtime to validate your intent. This below sample would be like Activity/SCO 3...
<imsss:preConditionRule>
<imsss:ruleConditions>
<imsss:ruleCondition referencedObjective="SCO2_SATISFIED" condition="satisfied" />
</imsss:ruleConditions>
<imsss:ruleAction action="disabled" />
</imsss:preConditionRule>
You can also control how the content controls the LMS. As some parts of SCORM like completion and success status could be based on progress_measure and scoring if completion thresholds are set (for example).
<!-- Sequence Collection used by SCOs -->
<imsss:sequencingCollection>
<imsss:sequencing ID="COMMON_SEQ_RULES">
<!-- Rollup: set to 0 if you don't want these scored. -->
<!--imsss:rollupRules objectiveMeasureWeight="1" /-->
<!-- prevent from accidentally being quto-completed/satisfied -->
<imsss:deliveryControls completionSetByContent="true" objectiveSetByContent="true" />
<!-- Attempt limit here had no effect -->
</imsss:sequencing>
</imsss:sequencingCollection>
I have a one page progression example here: https://github.com/cybercussion/SCOBot/wiki/Single-Pages-Managed-by-LMS-Navigation There may be something to glean off it. I always thought this was an area/gap the community would eventually fill with some builder/tool but since we are talking about 14 years almost now! I started to attempt to address some of this with my Packager app but there simply isn't enough customer request/demand to spend the time on it.
Good Luck.

How to remove old/closed tasks in IntelliJ

I have the following task menu in IntelliJ. What I want is to clear it completly. I don't care if I have to remove a settings folder or something like that. But I want it to be cleared. Deleting every single task is not an option because there are hundreds of then.
I figured out it has to be something in the .idea folder or in the settings because I already freshly installed IntelliJ
You can select many tasks with Shift and then delete all of them at once, which is much faster than removing all the tasks individually:
https://www.jetbrains.com/help/idea/managing-tasks-and-context.html#delete-tasks
Alternatively, all tasks are stored in workspace.xmlin .idea folder under <component name="TaskManager">, such as:
<task active="true" id="LOCAL-00674" summary="Some Task">
<created>1501071813825</created>
<option name="number" value="00674" />
<option name="presentableId" value="LOCAL-00674" />
<option name="project" value="LOCAL" />
<updated>1501071815536</updated>
<workItem from="1501071815699" duration="59000" />
</task>
You can delete them all from there.

How can I change multiple files with XMLUpdate?

I'm using XMLUpdate to update multiple config files in subdirectories.
I thought I would be able to do something like this:
<XmlUpdate Namespace="http://schemas.microsoft.com/.NetConfiguration/v2.0"
XmlFileName="\\$(BuildEnvironment)\websites\*.config"
Xpath="//configuration/appSettings/add[#key='Site']/#value"
Value="sitename"
/>
Where I have the following structure:
Websites
|
|-site1\web.config
|
|-site2\web.config
|
|-site3\web.config
So the idea is that rather than writing the xmlupdate task many times, I would be able to use the above and update many config files at once.
Is this possible?
Yes, I'm pretty sure it is possible, but I think you need to use <ItemGroup> for that to get a collection of files. Something like:
<ItemGroup>
<documentation_files Include="\\$(BuildEnvironment)\websites\**web.config" />
</ItemGroup>
<XmlUpdate
XmlFileName="#(documentation_files)"
Xpath="//configuration/appSettings/add[#key='Site']/#value"
Value="sitename" />
I left the Value static, but if you want to change it to the current folder, you can use something like Value="%(documentation_files.RecursiveDir)".
Note: This code is just an example. You may have to change it a bit to get what you want, but I hope it helps you.

DefaultLabeller with Date as a prefix in cruise control .net

I am working on cruise control .net, i need a variable in ccnet.config that contains current date so i can use it in defaultlabeller that has prifix and postfix both tags. so i can refrence this variable inside my defaultlabeller block as a prefix.
Thanks in advance.
You can use this:
<UsingTask AssemblyFile="MSBuild.Community.Tasks.dll" TaskName="MSBuild.Community.Tasks.Time" />
<MSBuild.Community.Tasks.Time Format="MM.dd.yyyy.HH.mm">
<Output TaskParameter="FormattedTime" PropertyName="CurrentDate" />
</MSBuild.Community.Tasks.Time>
The result of this task will be placed in the property CurrentDate
This is a real life example:
https://github.com/jupaol/NCastor/blob/develop/Solutions/NCastor.AutoBuilder/NCastor.AutoBuilder.Runner/Targets/Labels/FormatLabelNameSufixWhenLabelExists.target
And you need to download the community tasks:
http://msbuildtasks.tigris.org/