Courier 2.7.9 test release available - feedback needed
Okey, so this is a test release, to see if the changes done under the hood is viable, I've carefully tested this on a number of sites we've gotten from courier users, with transfers of single pages, hundreds of pages, dev items, doctypes and so on.
The reason this is not a final release is that there are 3 larger changes in the internals.
this is a larger change, and in some scenarios it might not be a good fit
2. changed the nhibernate internal session handling During test scenarios, it did not throw any errors, but it is such a fundamental piece of a deployment, that I really need as much feedback as possible
- Fixes missing publishing due to non-loading event handler
- Fixes manifest null reference, causing empty items in packaging
- Fixes stackoverflowexception with files starting with "_"
- Removes unneeded .asp which caused markup errors in visual studio
The test release is on nightly.umbraco.org, currently labelled as 2.7.8.12, I'll bumb up the version number as soon as feedback has been collected and any last minute bugs are fixed.
Have installed the nightly. When I go to Deploy in the courier tree I get: Could not find the default database provider, please ensure you have all the required DLL's in /bin, and that courier loaded successfully. To debug, turn on debugmode in /config/courier.confg, and examine the /app_data/courier/logs error log files
Is there a new setting which has to be added to my config?
Installed and running and everything moves as expected between servers, but the PublishDocument event fires for some content items and not for others (even if they have the same doc type and template)
Hi, I've done a little bit of testing. I've found two potential issues so far:
1) Transferring nested Media Items, to recreate:
Create a new Media Folder and populate with media items including a subfolder containing media items.
When couriering (using defaults - i.e. include children, all dependencies etc), the top level folder and direct children are successfully transferred but items in the sub folder are not. Works on second attempt to courier though.
2) This may not be so easy to recreate and is a bit strange but I have created brand new content items and when couriering, again with all dependencies, the transfer seems to be including other content items that have no relevance to the new document? Seems to be the same additional documents included even when trying to transfer new content items of different document types.
Hoping to do some more testing in the next day or two, will feed back anything else I find.
It doesn't mention a specific DLL. Below is the error from the log:
2-7-2013 20:18:26; Umbraco.Courier.Core.ProviderException: Could not find the default database provider, please ensure you have all the required DLL's in /bin, and that courier loaded successfully. To debug, turn on debugmode in /config/courier.confg, and examine the /app_data/courier/logs error log files at Umbraco.Courier.Core.ItemProvider.get_DatabasePersistence() at Umbraco.Courier.ItemProviders.DocumentItemProvider.HandlePack(ItemIdentifier id) at Umbraco.Courier.Core.ItemProvider.Package(ItemIdentifier id) at Umbraco.Courier.RepositoryProviders.Local.Package(ItemIdentifier itemId) at Umbraco.Courier.Cachehandler.V4.CacheHandler.sendToCache(IEnumerable`1 ids)
Did a diff check between this installation and another one. There was one DLL missing from the not working installation: Umbraco.Courier.Persistence.V6.NHibernate.dll.
Copied it over and now the deploy action does not give me a ysod. The DLL is NOT part of the hotfix package and/or complete install???
Using Courier_2.7.8.13.v4 on two 4.11.9 installs. When selecting a revision for direct deploy I get the following error: (the deployment keeps running in the background though, see screenshot http://i.imgur.com/iNtSqiz.png )
Parser Error Message: Could not load type 'Umbraco.Courier.UI.Pages.status'.
Source Error:
Line 1: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="status.aspx.cs" Inherits="Umbraco.Courier.UI.Pages.status" MasterPageFile="../MasterPages/CourierPage.Master" %> Line 2: <%@ Register Namespace="umbraco.uicontrols" Assembly="controls" TagPrefix="umb" %>
Line 3:
Umbraco.Courier.Core.ProviderException: Could not find the default database provider, please ensure you have all the required DLL's in /bin, and that courier loaded successfully. To debug, turn on debugmode in /config/courier.confg, and examine the /app_data/courier/logs error log files
what the f* ?! thanks for the heads up Vincent, for some reason the build server didnt include the V6 nhibernate project in the built process, so sorry about that! - upgrades have been unaffected by this since the v6 db layer has not been modified, and the V4 distribution isnt affected by this either.
A new built is done now, the only change is the inclusion of the v6 dll, under 2.7.8.14:
I've loaded up 14. Started off ok, I created a revision, set selected items only for all types of data and worked my way down the list, when I got to documents I selected everything (the select all doesnt work properly only selects root items). Whizzed around for a bit then the same big red exclamation mark error. After that the exclamation mark remained for other types of data even after a app_pool recycle.
So you always get this error when trying to load documents into the tree, when adding items to the revision? in the case of documents, it seems really odd that it cant convert a guid, since all identifiers are guids, will have a look at the underlying data to see if it can provide some better exception information
There is no section to select xslts specificly because they are part of macros, but you can add specific files and folders for the folder provider to display in the courier.config
So for the content tree, it works on the initial load, but if you the re-open the dialog, it fails if there are alot of documents already selected?
My XSLTs use includes in a seperate folder, which is quite a common method. Is it expected that these should be transferred via files/folders then?
Content tree: yes works on initial load, if i select just a few documents (i'll try and work out how many it can manage) its fine, but it looks like there may be a tipping point.
Found the reason for those strange things, a variable wasnt passed correctly from the UI to the packaging, apparently jquery has changed the way it handles submit buttons, so the form containing the tree was submitted an extra time for no reason, pushing those changes to the builder server by the end of today, thanks for investigating those
I've just tried build 15, the UI now seems to add types as expected.
But adding documents is behaving very strange now, if I recycle the app pool I can add some, but eventually it fails, not with a big red exclamation mark now. The "add" button depresses for a short period of inactivity and then becomes available and nothing further happens.
I dont now if this is of any interest to you but I packaged a revision containing 1326 media items with property data and it succeeded a build in approx. 2 minutes and a total of about 1.58GBytes of data. Not bad!
Also in docs if I dont expand a node and select it, it only adds the root document I clicked on (1). I have to expand the node to select the children. I'm sure the others dont work this way.
A couple of details on the tree selector, if you just select one of the root nodes, and dont expand it, it will just assume you want the root node + children, if you expand it will copy the state of the expanding node to its children so you deselect the ones you dont want
I think I found the reason for the js errors, so it should work now, build server churning away on a patched version now
If I may jump in, Umbraco v. 4.11.8 / Courier v. 2.7.8.16.hotfix.v4
Right click item with no children, select courier, receive message "The item you have selected, has child items available..." If I uncheck the "Yes, transfer all children as well" checkbox, I get an empty list box. I'd expect not to recieve the message or the checkbox.
Courier 2.7.9 test release available - feedback needed
Okey, so this is a test release, to see if the changes done under the hood is viable, I've carefully tested this on a number of sites we've gotten from courier users, with transfers of single pages, hundreds of pages, dev items, doctypes and so on.
The reason this is not a final release is that there are 3 larger changes in the internals.
1. dependency loading has changed
as out lined in this post:
http://our.umbraco.org/forum/umbraco-pro/courier/42343-Feedback-needed-improved-dependency-checking-and-loading
this is a larger change, and in some scenarios it might not be a good fit
2. changed the nhibernate internal session handling
During test scenarios, it did not throw any errors, but it is such a fundamental piece of a deployment, that I really need as much feedback as possible
3. Added some more granular configuration options to the template provider to handle dependencies found in markup:
https://github.com/umbraco/Courier/blob/master/Documentation/Architecture/Provider-Configuration.md
The full list of changes are:
Enhancements:
- Unchanged dependencies should not load their dependencies into tree
- Improved hashing of items with hard depedencies to include the child-dependency hash
- Loosens the courier express licensing to avoid non-loading dlls
Fixes:
- Fixes Dublicate published items in cmsDocument table in 4.x
- Fixes UrlPicker broken values on packaging - you must clear courier cache to fix
- Fixes lookup of certain media paths on a NAS to a physical path and vice versa
- Fixes memory leak in nhibernate session handling
- Fixes null ref in caching
- Fixes dublicate event registration causing extraction to fail silently
- Fixes cmsContentVersion lookup causing silent failure
- Fixes missing publishing due to non-loading event handler
- Fixes manifest null reference, causing empty items in packaging
- Fixes stackoverflowexception with files starting with "_"
- Removes unneeded .asp which caused markup errors in visual studio
The test release is on nightly.umbraco.org, currently labelled as 2.7.8.12, I'll bumb up the version number as soon as feedback has been collected and any last minute bugs are fixed.
http://nightly.umbraco.org/UmbracoCourier/2.7.8/nightly%20builds/
Version 4:
http://nightly.umbraco.org/UmbracoCourier/2.7.8/nightly%20builds/Courier_2.7.8.12.v4.zip
http://nightly.umbraco.org/UmbracoCourier/2.7.8/nightly%20builds/Courier_2.7.8.12.hotfix.v4.zip ;
Version 6:
http://nightly.umbraco.org/UmbracoCourier/2.7.8/nightly%20builds/Courier_2.7.8.12.v6.zip
http://nightly.umbraco.org/UmbracoCourier/2.7.8/nightly%20builds/Courier_2.7.8.12.hotfix.v6.zip
Sounds like some good changes to me :)
Realistically won't be able to test until the end of next week. But as soon as I can, I will :)
Thanks, Lau
Per,
Have installed the nightly. When I go to Deploy in the courier tree I get: Could not find the default database provider, please ensure you have all the required DLL's in /bin, and that courier loaded successfully. To debug, turn on debugmode in /config/courier.confg, and examine the /app_data/courier/logs error log files
Is there a new setting which has to be added to my config?
Thanks
Installed and running and everything moves as expected between servers, but the PublishDocument event fires for some content items and not for others (even if they have the same doc type and template)
Hey Vincent
Check the error_logs to see what dlls you are missing
Thanks richard will see whats going on with that
Hi, I've done a little bit of testing. I've found two potential issues so far:
1) Transferring nested Media Items, to recreate:
Create a new Media Folder and populate with media items including a subfolder containing media items.
When couriering (using defaults - i.e. include children, all dependencies etc), the top level folder and direct children are successfully transferred but items in the sub folder are not. Works on second attempt to courier though.
2) This may not be so easy to recreate and is a bit strange but I have created brand new content items and when couriering, again with all dependencies, the transfer seems to be including other content items that have no relevance to the new document? Seems to be the same additional documents included even when trying to transfer new content items of different document types.
Hoping to do some more testing in the next day or two, will feed back anything else I find.
clean config file. When try to deploy a document via dropdown:
Object reference not set to an instance of an object.
Error details
System.NullReferenceException: Object reference not set to an instance of an object.
at Umbraco.Courier.Core.Repository.loadSettings(XmlNode settingsXml)
at Umbraco.Courier.Core.Storage.RepositoryStorage.GetAll()
at Umbraco.Courier.UI.Dialogs.CommitItem.OnInit(EventArgs e)
at System.Web.UI.Control.InitRecursive(Control namingContainer)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Per,
It doesn't mention a specific DLL. Below is the error from the log:
2-7-2013 20:18:26; Umbraco.Courier.Core.ProviderException: Could not find the default database provider, please ensure you have all the required DLL's in /bin, and that courier loaded successfully. To debug, turn on debugmode in /config/courier.confg, and examine the /app_data/courier/logs error log files
at Umbraco.Courier.Core.ItemProvider.get_DatabasePersistence()
at Umbraco.Courier.ItemProviders.DocumentItemProvider.HandlePack(ItemIdentifier id)
at Umbraco.Courier.Core.ItemProvider.Package(ItemIdentifier id)
at Umbraco.Courier.RepositoryProviders.Local.Package(ItemIdentifier itemId)
at Umbraco.Courier.Cachehandler.V4.CacheHandler.sendToCache(IEnumerable`1 ids)
Just tried build 13 hotfix. Copied over all bin and umbraco. Same error :(
Did a diff check between this installation and another one. There was one DLL missing from the not working installation: Umbraco.Courier.Persistence.V6.NHibernate.dll.
Copied it over and now the deploy action does not give me a ysod. The DLL is NOT part of the hotfix package and/or complete install???
Using Courier_2.7.8.13.v4 on two 4.11.9 installs.
When selecting a revision for direct deploy I get the following error: (the deployment keeps running in the background though, see screenshot http://i.imgur.com/iNtSqiz.png )
Parser Error Message: Could not load type 'Umbraco.Courier.UI.Pages.status'.
Source Error:
Line 1: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="status.aspx.cs" Inherits="Umbraco.Courier.UI.Pages.status" MasterPageFile="../MasterPages/CourierPage.Master" %> Line 2: <%@ Register Namespace="umbraco.uicontrols" Assembly="controls" TagPrefix="umb" %> Line 3:
Source File: /umbraco/plugins/courier/pages/status.aspx Line: 1
I've had my first opportunity to load up hotfix 13 on my 6.1.1 test env. not a good start!
In the transfer UI I just get a big red exclamation mark and load error (error).
The log says...
2013-07-04 15:56:20,812 [38] ERROR Umbraco.Core.UmbracoApplicationBase - [Thread 15] An unhandled exception occurred
Umbraco.Courier.Core.ProviderException: Could not find the default database provider, please ensure you have all the required DLL's in /bin, and that courier loaded successfully. To debug, turn on debugmode in /config/courier.confg, and examine the /app_data/courier/logs error log files
Any ideas?
what the f* ?! thanks for the heads up Vincent, for some reason the build server didnt include the V6 nhibernate project in the built process, so sorry about that! - upgrades have been unaffected by this since the v6 db layer has not been modified, and the V4 distribution isnt affected by this either.
A new built is done now, the only change is the inclusion of the v6 dll, under 2.7.8.14:
http://nightly.umbraco.org/UmbracoCourier/2.7.8/nightly%20builds/Courier_2.7.8.14.hotfix.v6.zip
http://nightly.umbraco.org/UmbracoCourier/2.7.8/nightly%20builds/Courier_2.7.8.14.hotfix.v4.zip
http://nightly.umbraco.org/UmbracoCourier/2.7.8/nightly%20builds/Courier_2.7.8.14.v6.zip
http://nightly.umbraco.org/UmbracoCourier/2.7.8/nightly%20builds/Courier_2.7.8.14.v4.zip ;
Again, sorry about this, but if you are on 2.7.8 and get a missing datalayer exception, this is the reason :/
Hi Per
I've loaded up 14. Started off ok, I created a revision, set selected items only for all types of data and worked my way down the list, when I got to documents I selected everything (the select all doesnt work properly only selects root items). Whizzed around for a bit then the same big red exclamation mark error. After that the exclamation mark remained for other types of data even after a app_pool recycle.
Here's the error in the log...
2013-07-05 11:09:48,440 [9] ERROR Umbraco.Core.UmbracoApplicationBase - [Thread 8] An unhandled exception occurred
System.FormatException: Unrecognized Guid format.
at System.Guid.GuidResult.SetFailure(ParseFailureKind failure, String failureMessageID, Object failureMessageFormatArgument, String failureArgumentName, Exception innerException)
at System.Guid.TryParseGuid(String g, GuidStyles flags, GuidResult& result)
at System.Guid.Parse(String input)
at Umbraco.Courier.UI.Webservices.TreeData.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
2013-07-05 11:09:49,982 [9] ERROR Umbraco.Core.UmbracoApplicationBase - [Thread 21] An unhandled exception occurred
System.FormatException: Unrecognized Guid format.
at System.Guid.GuidResult.SetFailure(ParseFailureKind failure, String failureMessageID, Object failureMessageFormatArgument, String failureArgumentName, Exception innerException)
at System.Guid.TryParseGuid(String g, GuidStyles flags, GuidResult& result)
at System.Guid.Parse(String input)
at Umbraco.Courier.UI.Webservices.TreeData.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
So you always get this error when trying to load documents into the tree, when adding items to the revision? in the case of documents, it seems really odd that it cant convert a guid, since all identifiers are guids, will have a look at the underlying data to see if it can provide some better exception information
Hi Per
Yes it happens every time, but our test bed contains a lot of documents.
Here's a few other things i've noticed...
There's no section for packaging XSLTs?!? There's a files and folders section, but upon opening both they're empty! see pics attached.
The other pic shows I can select a small number of documents (33), but if I try a larger chunk I get the big red error.
There is no section to select xslts specificly because they are part of macros, but you can add specific files and folders for the folder provider to display in the courier.config
So for the content tree, it works on the initial load, but if you the re-open the dialog, it fails if there are alot of documents already selected?
Hi Per
My XSLTs use includes in a seperate folder, which is quite a common method. Is it expected that these should be transferred via files/folders then?
Content tree: yes works on initial load, if i select just a few documents (i'll try and work out how many it can manage) its fine, but it looks like there may be a tipping point.
M.
Yeah xslt includes must be transfered manually since courier doesnt detect them
Hi Per
Ok, so i've included the folder in the courier.config and that seems to work.
So here's another strange one for you...
I set up a package to just transfer types and set dependencies to selected items only. The pic (after a long wait) is what I end up with!
I should add that the UI suggests I have only 39 datatypes selectable yet upon packaging it lists 44??
Found the reason for those strange things, a variable wasnt passed correctly from the UI to the packaging, apparently jquery has changed the way it handles submit buttons, so the form containing the tree was submitted an extra time for no reason, pushing those changes to the builder server by the end of today, thanks for investigating those
Hi Per
I've just tried build 15, the UI now seems to add types as expected.
But adding documents is behaving very strange now, if I recycle the app pool I can add some, but eventually it fails, not with a big red exclamation mark now. The "add" button depresses for a short period of inactivity and then becomes available and nothing further happens.
M.
Hi Per
I dont now if this is of any interest to you but I packaged a revision containing 1326 media items with property data and it succeeded a build in approx. 2 minutes and a total of about 1.58GBytes of data. Not bad!
Now if you can get docs working... :)
M.
Hmm, any info in the javascript debugger or in the courier log files? cant replicate that here
Hi Per
Actually yes, JS error, here it is...
Also in docs if I dont expand a node and select it, it only adds the root document I clicked on (1). I have to expand the node to select the children. I'm sure the others dont work this way.
Hi Per
Actually, the others do work that way, ie you have to expand the node first to auto select the children underneath.
I suppose there's no other way to implement this, as you might only want the root item.
M.
Hi Per
More errors...
A couple of details on the tree selector, if you just select one of the root nodes, and dont expand it, it will just assume you want the root node + children, if you expand it will copy the state of the expanding node to its children so you deselect the ones you dont want
I think I found the reason for the js errors, so it should work now, build server churning away on a patched version now
Hello Per -
If I may jump in, Umbraco v. 4.11.8 / Courier v. 2.7.8.16.hotfix.v4
Right click item with no children, select courier, receive message "The item you have selected, has child items available..." If I uncheck the "Yes, transfer all children as well" checkbox, I get an empty list box. I'd expect not to recieve the message or the checkbox.
Thanks in advance - Brian.
Hi Brian
I assumed the UI wasnt sophisticated enough to 'detect' child items, but by the wording it would appear so!
Per can this be fixed?
M.
is working on a reply...