Sitecore Scheduled Tasks are always not due - sitecore

I'm using Sitecore 8.0 (rev. 150121), and I set up a couple of scheduled tasks to populate items last week,
After checking the logs for the past few days it turns out that Sitecore keeps seeing them as not due yet.
Given the fact that I set the schedule to the following
20140101|99990101|127|24:00:00

You have to set the interval at which sitecore check for due tasks, You can do that by updating the <scheduling> section in sitecore settings in web.config also you may consider the following instead : 20140101|99990101|127|23:59:59

Related

Sitecore 8.1 start rebuilding all indexes when ever I build the solution

I am using Sitecore 8.1 and whenever I build the solution. Sitecore starts rebuilding all the indexes when I load the website in browser. I am using IIS (localhost) on the development machine. Even if I change a some thing in web.config and reload the website (in browser), sitecore starts rebuilding indexes again.
Is it normal behavior with Sitcore 8.1? I have recently started working with it. I never had this kind of problem with Sitecore 7.2.
When you update web.config, Sitecore initiated a shutdown and restart again, once Sitecore gets restarted, it will start updating the indexes (I can see this in the crawling log).
IntervalAsynchronous strategy will be triggered and responsible for this behaviour.
The strategy forces a full index rebuild when the number of entries in
the history table exceeds the number you specify in the
Indexing.FullRebuildItemCountThreshold setting. This normally means
that a substantial publishing or deployment has taken place, and this
should always trigger a full index rebuild.
Refer to this link for more information: https://doc.sitecore.net/sitecore_experience_platform/setting_up__maintaining/search_and_indexing/indexing/index_update_strategies

Undoing A Sitecore Publish

Aside from investing in TDS or restoring the SQL database, is it possible to undo/rollback a Sitecore publish if someone publishes something that shouldn't have been?
I am using Sitecore 8.
If you know what the items are that were published, you could set the version that should not have been published to un-publishable and re-publish the item. That would set it back to the previous version.
You can always check the Sitecore logs for the items that have been published and then republish the versions intended while setting the unwanted versions unpublishable.
There is a setting you can activate in the config that logs every item thats been published:
<processor type="Sitecore.Publishing.Pipelines.PublishItem.UpdateStatistics, Sitecore.Kernel" runIfAborted="true">
<traceToLog>false</traceToLog>
</processor>
Beware it will add lots of information to the logs.
If you need to check back in time without this setting as true things get a bit harder. You could interrogate the history tables and eventqueue tables as these contain all the items that have changed and therefore contribute towards smart publishes. The logs should give you a view of what type of publishes have been run: smart vs incremental vs republish, and where in the tree they were kicked off.
Unfortunately there isn't the concept of a transaction over a publish, like Richard mentioned you'd need to replay items back over the top, or get a db restored.

Sitecore content gone in web DB after publish

I've been happily developing away on a Sitecore project for the last couple of months. This evening I did what I have done 100 times, smart published the entire site so that I could view it from the web DB as an end user.
When I navigated to the site I discovered that all of my content is gone. All rendering elements are there, but anything in the /sitecore/content tree is missing on the page. Gone. Empty. Nada.
Everything looks fine when I'm logged in and viewing in Page Editor.
I've done several smart publishes and still the same. I was going to try a republish of everything, but after reading the warning dialog I thought I'd wait until I understand what happened.
This is a pretty disconcerting thing. Any one have any ideas?
Check your root or home item , make sure it is in publishable state and check if it published. If the root item is gone your will not see anything on the site.
There are multiple things you will want to check on your root node where content is missing:
Workflow state: If there is only one version, but the workflow state was changed to a non-final version manually, it will not be published.
Publishing Restrictions Publishable state: If the 'Publishable' checkbox has been disabled for any item or version, that item/version will not publish.
Publishing Restrictions by Date: If a date-based publishing restriction has been applied to the item or versions, the item may have been removed because it is no longer in a publishable date range.
If this is on Sitecore 7.2, i think there is a bug where content items just disappear:
http://maxslabyak.com/sitecore/3-new-sitecore-v7-2-bugs-need-know-go-live/
To Fix it, set this setting Publishing.PublishEmptyItems to true
Hope this helps

How to efficiently publish in Sitecore 6.4 items in non-final workflow states?

While items that have reached a final workflow state can be easily published to the WEB database using, for example, a scheduled task that calls PublishManager.PublishSmart, I would like to be able to publish the latest version of all items that are in any workflow state to a different publishing target (for internal preview), essentially bypassing workflow.
What would you recommend to be the most efficient way to perform this, keeping in mind that this needs to happen a few times a day on a schedule and not every time an item is modified and/or changes workflow state?
How would that recommendation change if I changed the requirement by saying that only items that are in some (final and/or not final) specific workflow state (e.g. pending approval and approved) need to be published to the preview publishing target on a schedule?
See this blog post by Alex Shyba: http://sitecoreblog.alexshyba.com/2010/09/publish-to-pre-production-web-database.html. That workflow provider plus a standard publish agent should get you what you are looking for.
You may just want to configure a site that points at the Master database. See this stackoverflow answer on setting up a preview site: Preview site for Sitecore editors
Publish in the context of a site (as defined in web.config under <sites>) that has enableworkflows=false.
Untested, but something like:
using (new SiteContextSwitcher(SiteContextFactory.GetSiteContext("system"))) // workflows not enabled
{
var options = new PublishOptions(Context.ContentDatabase, Factory.GetDatabase("web"), PublishMode.Smart, null, DateTime.Now);
options.PublishingTargets.Clear();
options.PublishingTargets.Add("internal preview");
new Sitecore.Publishing.Publisher(options).Publish();
}
See this answer to the opposite problem!

How to fix scheduled tasks after upgrade from ColdFusion 9 to 10

After upgrading and migrating from ColdFusion 9 to 10, all of our scheduled tasks are gone. In the logs, there are "Advance Scheduling support is not available in this edition of ColdFusion server" errors. I know this is a known issue that was fixed in the first update. At this point, ColdFusion 10 is on update 10 (which docs says is cumulative so should include update 1), and documentation says to first install the mandatory update then update 10. We did this before migrating, however our scheduled tasks still do not appear in the CF admin console. In other threads on the subject, I've read that we may need to add the "html" extension to the new neo-cron.xml (we have tasks that create static output), but that doesn't seem to be directly correlated to the issue of not seeing our scheduled tasks at all. Any ideas? We're running CF on Windows Server 2003 (SP2)/IIS 6.
Even if CF doesn't recognize our tasks, is there a way to take our neo-cron.xml from CF 9 and import it into 10 to recreate our tasks?
I believe in CF10, tasks require an onComplete.
So after the tag
<struct type='coldfusion.scheduling.ScheduleTagData'>
add the line below for each task
<var name='oncomplete'><string></string></var>