Giter VIP home page Giter VIP logo

sitecore.ship's People

Contributors

cturano avatar gitter-badger avatar jermdavis avatar kevinobee avatar leecook avatar leethomascook avatar mikeedwards83 avatar pveller avatar retohugi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sitecore.ship's Issues

New sitecore instance - scship File or Directory not found

Hi,
Me again.
Sorry I seem to have issues every new instance.
ship.config is coming over with the build to the new instance as is the ship DLLs.
Our build server runs the curl command correctly on other sitecore instances but for this one instance it keeps returning with File or directory not found. Manual upload using updateinstallationwizard.aspx works fine. The error from the logs of the job is this. Also remember I have my own version of the DLL because of needing the path to be scshipservices instead of /services. Could there be some other permissions issue. We've compared to the other instances though. Also the C: path definitely exists.

Thanks.
Melissa
2
2016-08-11T12:59:38.0551860Z c:\agents\agent1\tasks\curl_745_0\curl.exe -i --insecure --show-error --silent --form "path=@C:\agents\agent2_work\31\s\Ansys.Intranet.TDS\bin\Package_Dev\Ansys.Intranet.TDS.update" http://ansysintranetdev.win.ansys.com/scshipservices/package/install/fileupload

3
2016-08-11T12:59:38.0561891Z Error message highlight pattern:

4
2016-08-11T12:59:38.0561891Z Warning message highlight pattern:

5
2016-08-11T12:59:46.0608050Z HTTP/1.1 404 Not Found

6
2016-08-11T12:59:46.0608050Z Content-Type: text/html

7
2016-08-11T12:59:46.0617988Z Server: Microsoft-IIS/8.5

8
2016-08-11T12:59:46.0617988Z X-Powered-By: ASP.NET

9
2016-08-11T12:59:46.0627988Z Date: Thu, 11 Aug 2016 12:59:46 GMT

10
2016-08-11T12:59:46.0627988Z Content-Length: 1245

11
2016-08-11T12:59:46.0637987Z

12
2016-08-11T12:59:46.0637987Z

13
2016-08-11T12:59:46.0647988Z

14
2016-08-11T12:59:46.0647988Z

15
2016-08-11T12:59:46.0657989Z <title>404 - File or directory not found.</title>

16
2016-08-11T12:59:46.0657989Z <style type="text/css">

17
2016-08-11T12:59:46.0667984Z <!--

18
2016-08-11T12:59:46.0667984Z body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}

19
2016-08-11T12:59:46.0678023Z fieldset{padding:0 15px 10px 15px;}

20
2016-08-11T12:59:46.0678023Z h1{font-size:2.4em;margin:0;color:#FFF;}

21
2016-08-11T12:59:46.0678023Z h2{font-size:1.7em;margin:0;color:#CC0000;}

22
2016-08-11T12:59:46.0688026Z h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}

23
2016-08-11T12:59:46.0688026Z #header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;

24
2016-08-11T12:59:46.0698031Z background-color:#555555;}

25
2016-08-11T12:59:46.0698031Z #content{margin:0 0 0 2%;position:relative;}

26
2016-08-11T12:59:46.0708001Z .content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}

27
2016-08-11T12:59:46.0708001Z -->

28
2016-08-11T12:59:46.0717985Z </style>

29
2016-08-11T12:59:46.0717985Z

30
2016-08-11T12:59:46.0728030Z

31
2016-08-11T12:59:46.0728030Z

Server Error

32
2016-08-11T12:59:46.0738029Z

33
2016-08-11T12:59:46.0738029Z

34
2016-08-11T12:59:46.0748039Z

404 - File or directory not found.

35
2016-08-11T12:59:46.0748039Z

The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.

36
2016-08-11T12:59:46.0758046Z

37
2016-08-11T12:59:46.0758046Z

38
2016-08-11T12:59:46.0768031Z

39
2016-08-11T12:59:46.0768031Z

Activator.CreateInstance for Sitecore.Ship against Sitecore 8.0 rev. 141212

Replication Procedures:

tools\curl\curl.exe -v http://ship/services/about

  • Adding handle: conn: 0x20585e0
  • Adding handle: send: 0
  • Adding handle: recv: 0
  • Curl_addHandleToPipeline: length: 1
  • - Conn 0 (0x20585e0) send_pipe: 1, recv_pipe: 0
  • About to connect() to ship port 80 (#0)
  • Trying 127.0.0.1...
  • Connected to ship (127.0.0.1) port 80 (#0)

    GET /services/about HTTP/1.1
    User-Agent: curl/7.30.0
    Host: ship
    Accept: /

    < HTTP/1.1 500 Internal Server Error
    < Cache-Control: private
    < Content-Type: text/html; charset=utf-8
  • Server Microsoft-IIS/8.5 is not blacklisted
    < Server: Microsoft-IIS/8.5
    < X-AspNet-Version: 4.0.30319
    < X-Powered-By: ASP.NET
    < Date: Sun, 23 Aug 2015 18:28:36 GMT
    < Content-Length: 6887

Exception Details:

[ArgumentNullException: Value cannot be null.
Parameter name: type]
System.Activator.CreateInstance(Type type, Boolean nonPublic) +14164312
System.Activator.CreateInstance(Type type) +12
Nancy.Hosting.Aspnet.NancyHttpRequestHandler.GetConfigurationBootstrapper() +51
Nancy.Hosting.Aspnet.NancyHttpRequestHandler.GetBootstrapper() +29
Nancy.Hosting.Aspnet.NancyHttpRequestHandler..cctor() +21

[TypeInitializationException: The type initializer for 'Nancy.Hosting.Aspnet.NancyHttpRequestHandler' threw an exception.]
Nancy.Hosting.Aspnet.NancyHttpRequestHandler..ctor() +0

[TargetInvocationException: Exception has been thrown by the target of an invocation.]
System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& cto
r, Boolean& bNeedSecurityCheck) +0
System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) +138
System.Activator.CreateInstance(Type type, Boolean nonPublic) +105
System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlM
ark& stackMark) +1528
System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) +191
System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture) +27
System.Web.HttpRuntime.CreateNonPublicInstance(Type type, Object[] args) +82
System.Web.Configuration.HandlerFactoryCache..ctor(String type) +58
System.Web.HttpApplication.GetFactory(String type) +104
System.Web.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +262
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +157

Sitecore ship blocking media content search

Hi,

We are using Sitecore.NET 7.1 (rev. 140130) and use Sitecore ship with our CI CD process to do the content deployment.

Sitecore ship does its job well with the deployment but it blocked the Sitecore bucket search functionality and the only solution we have is to remove sitecoreshiphttphandler from the web.config.

Can you suggest a solution with which i can use both Sitecore ship and Sitecore bucket search? You can see the screencast of the problem that I am talking about here http://screencast.com/t/QONrTv1hB

Regards,
Pratik Thakker

UpdateHelper.SaveInstallationMessages removed in Sitecore 7.5

Hi there,

It looks like Sitecore have removed the UpdateHelper.SaveInstallationMessages method in Sitecore 7.5, without marking it obsolete/deprecated. More info here: http://laubplusco.net/updatehelper-saveinstallationmessages-removed-sitecore-7-5/

This causes a MissingMethodException to be thrown when installing packages via Ship.

I've forked Ship to comment out the call to this method (in UpdatePackerRunner.Execute) as I don't know what the equivalent method is now. If I can figure out what it should be now, I'll send a pull request.

Thanks,
James

Status 500 when calling services/package/install to Sitecore 7.5

I have a Team City CI setup and I'm trying to use Sitecore.Ship.Aspnet to deploy to a Sitecore 7.5 instance and am getting a HTTP 500 status code back with the following stack trace:

[MissingMethodException: Method not found: &#39;System.String Sitecore.Update.UpdateHelper.SaveInstallationMessages(System.Collections.Generic.List`1&lt;Sitecore.Update.Installer.ContingencyEntry&gt;, System.String)&#39;.]
   Sitecore.Ship.Infrastructure.Update.UpdatePackageRunner.Execute(String packagePath, Boolean disableIndexing) in d:\Development\SCC\ship\src\Sitecore.Ship.Infrastructure\Update\UpdatePackageRunner.cs:61
   Sitecore.Ship.Core.PackageRepository.AddPackage(InstallPackage package) in d:\Development\SCC\ship\src\Sitecore.Ship.Core\PackageRepository.cs:17
   Sitecore.Ship.AspNet.Package.InstallPackageCommand.HandleRequest(HttpContextBase context) in d:\Development\SCC\ship\src\Sitecore.Ship.AspNet\Package\InstallPackageCommand.cs:42
   Sitecore.Ship.AspNet.AboutCommand.HandleRequest(HttpContextBase context) in d:\Development\SCC\ship\src\Sitecore.Ship.AspNet\AboutCommand.cs:22
   Sitecore.Ship.AspNet.SitecoreShipHttpHandler.ProcessRequest(HttpContextBase context) in d:\Development\SCC\ship\src\Sitecore.Ship.AspNet\SitecoreShipHttpHandler.cs:46
   Sitecore.Ship.AspNet.BaseHttpHandler.ProcessRequest(HttpContext context) in d:\Development\SCC\ship\src\Sitecore.Ship.AspNet\BaseHttpHandler.cs:45
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +913
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously) +165

I have no problems on my Sitecore 6.6 and 7.2 instances. I hope you can help.

With regards,

David van der Hoop

Authentication feature

Provide a logon/logoff mechanism to mimic the functionality of the Sitecore login page.

Version 0.4 release date

Hi KevinObee
As we work on a migration-prject to sitecore 8 and use ship to install item packages, we would need the changes in the 0.4 version to have a working one.
When do you plan to release version 0.4?
If not in the next few days, could you provide a prerelease nuget package in order we can use ship for sitecore 8?

Sitecore version comparability

Can compatible Sitecore versions be listed on the project page to ensure success when using with Sitecore 7+.
Sitecore 8.1 is the current version and Sitecore 8.2 is on the near horizon; it is unclear if it is compatible prior to implementing 1st hand and testing.

Command line build failing for Nancy tests

Tiny IOC exceptions are being thrown by the unit tests when run from the command line '\build''. The msbuild.log indicates that Newtonsoft.Json 6.0.0.0 cannot be resolved.

Running the tests from within Visual Studio gives no indication of the error and all tests pass.

Sitecore 7 Net 4.5 Issue

From Ruud van Falier email:

I have recompiled Ship on .NET 4.5 with the Sitecore 7 binaries, without any build issues.
When I request /services/about I get the about page as expected.

Next up is trying to install a package.
I've placed a package on disk and make a POST request to /services/package/install with parameter path = .....Web.Build.20131023135543.update
(This was tested using Postman)

I also tried sending a Raw request with this data:
path=....Web.Build.20131023135543.update

Both result in a 500 error saying something went horribly, horribly wrong :-)
I tried attaching the Ship solution to the IIS worker process, but for some reason it does not break.
Any ideas on how to figure out what is going wrong are very welcome!

Include Sitecore.Ship.zip in the generated NuGet package

Hi Kevin. I'm a big fan of Sitecore.Ship. I've recently written a PowerShell script to install your tool onto a Sitecore instance by downloading the package from a NuGet feed. I'd like to support installing Sitecore.Ship's Sitecore content as well. If you include the .zip package in the tools folder, for example, I can modify my script to install Sitecore.Ship then use Sitecore.Ship to install the .zip file. :)

installer can be found here: https://github.com/patrickperrone/Sitecore.Ship-PowerShell-Installer

Have new instance of Sitecore trying to run Sitecore Ship, runtime error

Hi,

We have a new instance of Sitecore and had pushed our website code which also included the SitecoreShip DLLs and ship.config. We additionally pushed code for a separate commerce piece. Trying to get to the http://url/scshipservices (like we always do) is yielding a runtime error.
We do have the latest version of json (i.e. 8.0) -- could this be the problem? Are there any other configs I need to look for?

Thanks.
Melissa Mussitsch

Licensing Information Missing

Hi Kevin

We value your work on Sitecore Ship and use it as part of our build process. But we're not very happy with using unlicensed software. Would you mind adding a license to your project? Github has put up a website just for that: picking the right licensing.
Of course we'd be most happy with a permissive license. And we won't be able to use Ship if it's GPL licensed. But that's in fact your choice. ;-)

Thanks & regards,
Reto

Serialization over HTTP

Add the ability to serialize items, trees or entire databases via a HTTP request and provide a means of reading the serialized items back in te response stream.

Remote serialization or package generation will make it possible to pull content from one environment and then use other ship commands to push the content to other environments.

install of TDS pkg did not seem to update new language fallback value

I'm sorry if this is too specific or more of a support issue, but I just want to make sure my deployments are working fully.
A developer changed one of the Sitecore items language fallback values from 1 to 0 in a standard values item. The change was deployed to our local, DEV and PROD environments. I used TDS and sync with sitecore to upload the change locally, and it was correct and in the standard value, the value was now off. But via DEV and PROD where Sitecore Ship is used to install the TDS pkg, the value checkbox is still checked in that same standard values item. I checked the jobs and confirmed that the standard values item was indeed included in the pkg and listed in the install response.
Hedgehog told me to check my installer logs, but I'm not sure if Sitecore Ship offers any other details.
Is anyone aware of any such toggle values like this not installing?

Thanks.
Melissa Mussitsch

Assembly conflicts warning

Build generates the following warning:

(ResolveAssemblyReferences target) ->
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3247: Found conflicts between different versions of the same dependent assembly. [C:\development\ship\sr c\Sitecore.Ship\Sitecore.Ship.csproj]

Support Web API 2.2

Introduce a ASP.NET Web API implementation of Sitecore.Ship and potentially deprecate the NancyFx and ASP.NET HTTP handler implementations.

feature request - pass in job definitions

the ability to 'pass in' Sitecore job definition for execution within a Sitecore context would be nice - even extending that to HTTP post in the assembly where the code is defined!

-robin

New service endpoint in Sitecoreship

How do we create a new endpoint in sitecoreship?
My requirement:

I want to post a Sitecore .update package to that new endpoint located in the target instance and get back an anti .update package for the same. How do I proceed with this?

InstallUploadPackage breaks naming convention for recorded package history

When a package is installed via a file upload and the installation recorder is enabled a item is saved under Package History that fails to adhere to the required package naming convertions.

For example:

D:\Development\SCC\ship\Build..\tools\curl\curl.exe -i --form "path=@d:\Development\SCC\ship\tests\acceptance-test\01-package.update" http://shiptest//services/package/install/fileupload

Creates:

image

This will cause a /services/package/latestversion command to fail with [FormatException]: Input string was not in a correct format.

Command line build fails if path contains spaces

Directory paths are not properly quoted, causing the command line build to fail to getnerate a package as shown below

StdPackage:
  C:\development\Open Source\ship\.nuget\nuget.exe pack  C:\development\Open Source\ship\Build\packaging\Sitecore.Ship.AspNet.nus
  pec -Verbosity detailed -Version 0.4.0.160201 -OutputDirectory C:\development\Open Source\ship\artifacts\Packages
  'C:\development\Open' is not recognized as an internal or external command,
  operable program or batch file.
C:\development\Open Source\ship\Build\build.targets(94,5): error MSB3073: The command "C:\development\Open Source\ship\.nuget\nug
et.exe pack  C:\development\Open Source\ship\Build\packaging\Sitecore.Ship.AspNet.nuspec -Verbosity detailed -Version 0.4.0.16020
1 -OutputDirectory C:\development\Open Source\ship\artifacts\Packages" exited with code 9009. [C:\development\Open Source\ship\Bu
ild\Build.proj]
Done Building Project "C:\development\Open Source\ship\Build\Build.proj" (Go target(s)) -- FAILED.


Build FAILED.

"C:\development\Open Source\ship\Build\Build.proj" (Go target) (1) ->
(StdPackage target) ->
  C:\development\Open Source\ship\Build\build.targets(94,5): error MSB3073: The command "C:\development\Open Source\ship\.nuget\n
uget.exe pack  C:\development\Open Source\ship\Build\packaging\Sitecore.Ship.AspNet.nuspec -Verbosity detailed -Version 0.4.0.160
201 -OutputDirectory C:\development\Open Source\ship\artifacts\Packages" exited with code 9009. [C:\development\Open Source\ship\
Build\Build.proj]

AboutCommand doesn't set StatusCode, ends up giving Unhandled response when I compile code myself

When I use the binaries from the NuGet package and run /services/about - I get the version number as expected.

However I needed to change the base URL from /services/ to /sitecore_ship/ so that it wouldn't intercept content pages and CSS / JS assets which had /services/ in the URL (namely uCommerce javascript files)

When I rebuilt Sitecore.Ship.AspNet and put the binaries in my solution, /sitecore_ship/about was giving an Unhandled response from the Sitecore.Ship handler.

I found a workaround, adding the following line to AboutCommand.cs:
context.Response.StatusCode = 200;

I'm still confused why I can't replicate this error on the NuGet build though.

This is tested on Sitecore 7.2.2 (rev 140526)

Thanks for the great product.

Service request signatures differ between master and Nancy branches

The master branch contains an HTTP handler implementation of Sitecore.Ship whilst the Nancy branch is implemented using the NancyFx framework. The service request formats and functionality differ between these two branches.

Consider merging the two branches and implementing two nuget packages:

  • Sitecore.Ship (NancyFx implementation)
  • Sitecore.Ship.AspNet (HTTP handler implementation)

Nancy.Json.JsonSettings.MaxJsonLength exceeded

When installing a large package for the Sitecore Master database (this was a multi-site solution) I recieve the following error in the Sitecore logs from Sitecore Ship:

Exception: System.InvalidOperationException
Message: Nancy.Json.JsonSettings.MaxJsonLength exceeded
Source: Nancy
[stack trace with lots of Json Serialization stuff]

When this error occurs, the items are not installed to the Sitecore instance.

Smaller packages, such as the one I used for the Core database, work just fine.

I think the problem is that the Json string that lists the item Ids that were added to Sitecore exceeds the mono serializer's max length. I found a handful of blog posts discussing this issue, for example: http://ouarzy.azurewebsites.net/?p=441

My feature request is a switch to disable the reporting of the item Ids.

Allow Sitecore.Ship to use a different service endpoint

One of my Sitecore implementations uses the "/services" path on their public-facing website. I'd like a way to configure Sitecore.Ship to use a different endpoint so that it won't conflict with pages my customer might create. For example, "/sitecore-ship".

It looks like the "/services" URL is currently hardcoded in the source.

White list is invalid for deployment access control ? How to enable secure deployment ?

Hi,

I installed sitecore.ship version release 0.4.0
Sitecore.Ship-release-0.4.0.zip

After I set the white list in packageInstallation section:

<Whitelist>
  <add name="local loopback" IP="127.0.0.1" />
  <add name="build server" IP="10.0.1.134" />
</Whitelist>

I tried to access http://sitecoreship/services/about from 10.0.1.134, it is ok.
And I also accessed this url from a source machine whose IP is NOT 10.0.1.134, the access was denied:

401 - Unauthorized: Access is denied due to invalid credentials.
You do not have permission to view this directory or page using the credentials that you supplied.

But I could deploy a package via curl.exe from this machine (IP is not 10.0.1.134) :

PS C:\curl> .\curl.exe -i --show-error --form "path=@C:\Curl\package.update" http://sitecor
eship/services/package/install/fileupload
HTTP/1.1 100 Continue

HTTP/1.1 201 Created
Cache-Control: private
Content-Type: application/json; charset=utf-8
Location: /services/package/latestversion
Server: Microsoft-IIS/8.5
x-processing-time: 5854.0356
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Thu, 31 Dec 2015 08:04:19 GMT
Content-Length: 152

{"Entries":[{"ID":null,"Path":"/_DEV/DeployedItems.xml"},{"ID":null,"Path":"/bin/HedgehogDevelopment.SitecoreProject.Pac
kageInstallPostProcessor.dll"}]}

Even I set allowRemote="FALSE" , still can do the deployment from this machine.

Are the white list configurations invalid for deployment access control ?
Is there other authentication for secure deployment ?

thanks
-Frank

Log HTTP authorisation rejections

HttpRequestAuthoriser should log requests that have failed authorisation.

Ideally provide a configuration override to enable/disable logging.

Cannot delete tempfile on package upload (Sitecore 8)

When uploading a package using the /services/package/install/fileupload endpoint in a version compiled for Sitecore 8, i get the following exception:

Exception Details: System.IO.IOException: The process cannot access the file
'C:\projects\ci\cidevelopment\Website\temp\48ca187f-d7f5-4ad9-adce-02343dd46d53.update' because it is being used by another process.
Source Error:
Line 36: public void Dispose()
Line 37: {
Line 38: File.Delete(_tempPackageFile);
Line 39: }
Line 40: }
Source File: c:\projects\ci\Sitecore.Ship\Sitecore.Ship\src\Sitecore.Ship.Infrastructure\IO\TempPackager.cs Line: 38

It seems that the file is still in use by the Sitecore.Updater at this point.

Update: Apparently the error is related to me making a malformed HTTP Post. I tried posting my update package using curl, and there was no error.

/services/publish/listofitems gets a 404, when trying to publish a list of items

Hi!

I'm using your great tool to try to automate Sitecore 7 & 8 deployments, and I'm having a strange issue at the latest step: publishing the installed items is returning a 404 error.
My whole stack is TeamCity + Courier + Ship 0.4.0 (I've cloned your source code).

I have the items package created with Sitecore Courier.
I've created a simple command line tool that has 2 tasks:

  • Install the package to "/services/package/install/fileupload" and get the list of installed items.
  • Create the Items-To-Publish list and post it to "/services/publish/listofitems".

First step works fine, and I get the list, but when I post to do the publishing, I'm getting a 404.

This is the source code to POST the publishing:

    private static void PublishItems(PublishItems items, string targetUrl)
    {
        try
        {
            // Create a request using a URL that can receive a post. 
            WebRequest request = WebRequest.Create(targetUrl + "/services/publish/listofitems");

            // Set the Method property of the request to POST.
            request.Method = "POST";
            // Create POST data and convert it to a byte array.
            string postData = items.ToJson();
            byte[] byteArray = Encoding.UTF8.GetBytes(postData);

            // Set the ContentType property of the WebRequest.
            request.ContentType = "application/x-www-form-urlencoded";
            // Set the ContentLength property of the WebRequest.
            request.ContentLength = byteArray.Length;
            // Get the request stream.
            Stream dataStream = request.GetRequestStream();
            // Write the data to the request stream.
            dataStream.Write(byteArray, 0, byteArray.Length);
            // Close the Stream object.
            dataStream.Close();
            // Get the response.
            WebResponse response = request.GetResponse();
            // Display the status.
            Console.WriteLine(((HttpWebResponse)response).StatusDescription);
            // Get the stream containing content returned by the server.
            dataStream = response.GetResponseStream();
            // Open the stream using a StreamReader for easy access.
            StreamReader reader = new StreamReader(dataStream);
            // Read the content.
            string responseFromServer = reader.ReadToEnd();
            // Display the content.
            Console.WriteLine(responseFromServer);
            // Clean up the streams.
            reader.Close();
            dataStream.Close();
            response.Close();
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }
    }

This is a sample POST, as captured in Fiddler:

POST http://sitecore8target/services/publish/listofitems HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: sitecore8target
Content-Length: 366
Expect: 100-continue

{"Items":[{"itemId":"662a3670-2671-414c-97e5-f9b30473cdd7","PublishChildren":"false"},{"itemId":"a49599a5-1b25-4efe-82aa-fa1af0993919","PublishChildren":"false"},{"itemId":"377cb37e-2b00-417e-bbec-872b4ef9e9a0","PublishChildren":"false"},{"itemId":"9502a1e1-7bdd-4b3e-a234-a488ba871889","PublishChildren":"false"}],"TargetDatabases":["web"],"TargetLanguages":["en"]}

And the 404 error:
image

The Sitecore instance at "http://sitecore8target" has Ship 0.4.0 installed, and the Install package service works as expected.

Any ideas where to look at?
Many thanks in advance!

Sergi

Documentation of Nuget install unclear

Readme.md states:


install-package Sitecore.Ship -Source <path>

Where is the path to the artifacts\Packages\Sitecore.Ship.x.x.xxxx.nupkg that was produced by the build command


This could be misunderstood as meaning:

install-package Sitecore.Ship -Source  C:\Projects\Sitecore.Ship\artifacts\Packages\Sitecore.Ship.x.x.xxxx.nupkg

Where as this is what is actually meant:

install-package Sitecore.Ship -Source C:\Projects\Sitecore.Ship\artifacts\Packages\

Sitecore.Ship with Sitecore 8.1 Update 1

Hi,
So it seems that ever since we upgraded to Sitecore 8.1 Update 1, now our Sitecore.Ship deployment steps fail. I'm getting the below error. Any ideas what can be done and will I need to resolve this with each release? Also wondering what Sitecore Ship uses for installing a .update file. There were some bugs with sitecore packaging and installation related to language fallback versions so I'm wondering if the fixes could have caused an issue too?

<body bgcolor="white">
        <span><H1>Server Error in '/' Application.<hr width=100% size=1 color=silver></H1>
        <h2> <i>Error has occurred during file installation.</i> </h2></span>
        <font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif ">
        <b> Description: </b>An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
        <br><br>
        <b> Exception Details: </b>Sitecore.Update.Installer.Exceptions.PostStepInstallerException: Error has occurred during file installation.<br><br>
        <b>Source Error:</b> <br><br>
        <table width=100% bgcolor="#ffffcc">
           <tr>
              <td>
                  <code>

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.





Stack Trace:





Sitecore.Update.Installer.Items.PostStepInstaller.Process(IProcessingContext entry, IProcessingContext context) +1500

Sitecore.Update.Installer.Items.PostStepInstaller.Process(IProcessingContext entry, IProcessingContext context) +2042
Sitecore.Update.Installer.DiffInstaller.InstallPackage(String path, InstallMode mode, ILog installationProcessLogger, IList`1 entries, String rollbackPackagePath, Boolean& hasPostAction, String& historyPath) +874
Sitecore.Update.UpdateHelper.Install(PackageInstallationInfo info, ILog installationProcessLogger, String& historyPath) +229
Sitecore.Ship.Infrastructure.Update.UpdatePackageRunner.Execute(String packagePath, Boolean disableIndexing) +1524
Sitecore.Ship.Core.PackageRepository.AddPackage(InstallPackage package) +152
Sitecore.Ship.AspNet.Package.InstallUploadPackageCommand.HandleRequest(HttpContextBase context) +696
Sitecore.Ship.AspNet.Package.InstallPackageCommand.HandleRequest(HttpContextBase context) +640
Sitecore.Ship.AspNet.AboutCommand.HandleRequest(HttpContextBase context) +498
Sitecore.Ship.AspNet.SitecoreShipHttpHandler.ProcessRequest(HttpContextBase context) +75
Sitecore.Ship.AspNet.BaseHttpHandler.ProcessRequest(HttpContext context) +350
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +913
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +165

Please advise.
Thanks.
Melissa Mussitsch

Using Sitecore.Ship with version 8.1 of sitecore, issue with /services url

I had to download the source and build my own sitecore ship because of using sitecore 8.1.
Everything was working fine until our content editors renamed an area of our site to be "services".
So now they need the /services url to refer to their content area. But as you know sitecore ship uses the /services url for fileupload, publishing etc.
They went ahead and removed the entry from the ship.config file without my knowing. So two things

  1. I reverted back their change but it seems the url is still not found or working. When I try to run it via the cmd line, it says exactly that. Since they only changed a config file, I'm surprised putting /services back didn't just fix it.
  2. Is there a way to adjust the url to instead be "scshipservices" so that we can use "services" for their use? If so, can you provide instructions? We're fairly new to .NET.
    I hope it's okay to post this kind of issue here.

Thanks,
Melissa M

Add the ability to delete an item

Add the ability to delete an item via a HTTP request. The URL could have the following format:

/services/database/master/item/delete?path=/sitecore/content/home

Record what packages installed

Been mapping out our potential new workflow with this and a few of the other tools.

One thing that would seem sensible is to be able to record which packages(.zip or .update) have been installed. That way I can keep all my packages in source control and then on deploy, only install ones which have not yet been installed. Otherwise you are in a situation, where you need to modify your source control on every deploy ( delete installed packages). Likely to break and goes away from 'automate everything'.

As far as I know, there is no way to know what has been installed already is there? So may have to be in a custom db.

Happy to help you out with this if you think it is a sensible thing to do.

Rough Plan is below:

  1. Individual sitecore databases per dev
  2. Auto Serialize all templates, user controls etc ( Using https://github.com/rauljmz/SerializationRule OR https://github.com/kamsar/Unicorn )
  3. Manually generate content packages with content additions. Place in Packages folder.

4.On CI, includes seralized items and content packages in octopus nuget package.

  1. On Push to dev/staging/production, using powershell hook:
    i: install templates with sitecore ship (https://github.com/kevinobee/Sitecore.Ship)
    ii: install content package with with sitecore ship ( not yet built) - Need to record which packages installed ( small sql table/ embedded ravendb) so can know which updates that have yet to be installed.

    iii: Publish modified changes ( as noted in issue 5)

List of items to publish once package installed.

On some of our sites, where there are master databases of 100's of GB, doing a smart publish of the whole thing is not realistic ( it takes circa 24 hours).

As we are going to be generating our packages dynamically, it is not immediately obvious what you need to publish ( without digging into the file). This is not a problem with Ship obviously, but a general sitecore one.

It would be great, if you once you install a package, it returned you a list of items ( in json) that need to be published since installing that package.

We could then add another option to programmatically publish stuff based on the json file we provide back to it.

Service Creation in Website Folder

Hi,

Curl.exe try to access services in service folder in my local sitecore instance(EX : services/package/latestversion). How that service will be created?. Do we need to create that service or it's created by the source code provided for Sitcore.ship.master.If it's created by sitecore.ship.master,while running the .build project,it's showing error in test, so i commented test project in build and rebuild the build project.But it's not creating that services.

Please explain me in detail how to create that service and run curl.exe for installing files in my local sitecore instance.I already have .update files generated by TDS. I want to test that functionality locally before moving the same to build server.

Kindly provide me the steps for creating services.

Thanks
N.Kaleeswaran

System.MissingMethodException when trying file upload

Sitecore version xp 8.1
sitecore ship version 0.3.5

when attempting a post to [servername]/services/package/install/fileupload

I get the following 500 error.

Nancy.RequestExecutionException: Oh noes! ---> System.MissingMethodException: Method not found: 'System.String Sitecore.Update.UpdateHelper.SaveInstallationMessages(System.Collections.Generic.List`1, System.String)'.
at Sitecore.Ship.Infrastructure.Update.UpdatePackageRunner.Execute(String packagePath, Boolean disableIndexing)
at Sitecore.Ship.Core.PackageRepository.AddPackage(InstallPackage package) in d:\Development\SCC\ship\src\Sitecore.Ship.Core\PackageRepository.cs:line 17
at Sitecore.Ship.Package.Install.InstallerModule.InstallUploadPackage(Object o) in d:\Development\SCC\ship\src\Sitecore.Ship\Package\Install\InstallerModule.cs:line 108
at Nancy.Routing.DefaultRouteInvoker.Invoke(Route route, DynamicDictionary parameters, NancyContext context)
at Nancy.Routing.DefaultRequestDispatcher.Dispatch(NancyContext context)
at Nancy.NancyEngine.InvokeRequestLifeCycle(NancyContext context, IPipelines pipelines)
--- End of inner exception stack trace ---
at Nancy.NancyEngine.InvokeOnErrorHook(NancyContext context, ErrorPipeline pipeline, Exception ex)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.