sharepoint-ruby
sharepoint-ruby copied to clipboard
A null value was found for the property named 'UniqueContentTypeOrder'
When I follow the instruction to create a new list from the readme, it is unable to save. Here is the console's output
[83] pry(main)> list = Sharepoint::List.new site, { 'BaseTemplate' => Sharepoint::LIST_TEMPLATE_TYPE[:GenericList] } ; nil
=> nil
[84] pry(main)> list.title = 'My new list'
=> "My new list"
[85] pry(main)> list.description = 'A list created by sharepoint-ruby'
=> "A list created by sharepoint-ruby"
[86] pry(main)> list.save
Sharepoint::SPException: A null value was found for the property named 'DefaultContentApprovalWorkflowId', which has the expected type 'Edm.Guid[Nullable=False]'. The expected type 'Edm.Guid[Nullable=False]' does not allow null values.
from ~/.rvm/gems/ruby-2.3.0@[private]/gems/sharepoint-ruby-0.0.2/lib/sharepoint-ruby.rb:86:in `query'
The furthest I got was to do was to add "UniqueContentTypeOrder": { <SOMTHING> }
to the hash, I have no idea what that SOMETHING is suppose to be.
Any insight on what I have to add to the deceleration of a new List ( or Folder, as the same thing happens with that )?
If it helps, this is the output of list.save with verbose on
[89] pry(main)> list.save
* Trying 13.107.136.9...
* TCP_NODELAY set
* Connected to [private].sharepoint.com (13.107.136.9) port 443 (#0)
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use http/1.1
* Server certificate:
* subject: C=US; ST=WA; L=Redmond; O=Microsoft Corporation; OU=Microsoft Corporation; CN=*.sharepoint.com
* start date: Mar 7 21:35:03 2018 GMT
* expire date: Mar 6 21:35:03 2020 GMT
* subjectAltName: host "[private].sharepoint.com" matched cert's "*.sharepoint.com"
* issuer: C=US; ST=Washington; L=Redmond; O=Microsoft Corporation; OU=Microsoft IT; CN=Microsoft IT TLS CA 1
* SSL certificate verify ok.
> POST /_api/contextinfo HTTP/1.1
Host: [private].sharepoint.com
Cookie: FedAuth=[private]
Accept: application/json;odata=verbose
Content-Type: application/json;odata=verbose
Content-Length: 0
< HTTP/1.1 200 OK
< Cache-Control: private, max-age=0
< Transfer-Encoding: chunked
< Content-Type: application/json;odata=verbose;charset=utf-8
< Expires: Wed, 10 Jul 2019 18:02:05 GMT
< Last-Modified: Thu, 25 Jul 2019 18:02:05 GMT
< P3P: CP="ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI"
< Set-Cookie: [private]; domain=sharepoint.com; path=/; secure; HttpOnly
< Set-Cookie: FedAuth=[private]; path=/; secure; HttpOnly
< X-SharePointHealthScore: 3
< X-SP-SERVERSTATE: ReadOnly=0
< DATASERVICEVERSION: 3.0
< SPClientServiceRequestDuration: 75
< X-AspNet-Version: 4.0.30319
< SPRequestGuid: [private]
< request-id: [private]
< MS-CV: [private]
< Strict-Transport-Security: max-age=31536000
< X-FRAME-OPTIONS: SAMEORIGIN
< X-Powered-By: ASP.NET
< MicrosoftSharePointTeamServices: 16.0.0.9117
< X-Content-Type-Options: nosniff
< X-MS-InvokeApp: 1; RequireReadOnly
< X-MSEdge-Ref: Ref A: [private] Ref B: [private] Ref C: 2019-07-25T18:02:05Z
< Date: Thu, 25 Jul 2019 18:02:04 GMT
<
* Connection #0 to host [private].sharepoint.com left intact
* Trying 13.107.136.9...
* TCP_NODELAY set
* Connected to [private].sharepoint.com (13.107.136.9) port 443 (#0)
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use http/1.1
* Server certificate:
* subject: C=US; ST=WA; L=Redmond; O=Microsoft Corporation; OU=Microsoft Corporation; CN=*.sharepoint.com
* start date: Mar 7 21:35:03 2018 GMT
* expire date: Mar 6 21:35:03 2020 GMT
* subjectAltName: host "[private].sharepoint.com" matched cert's "*.sharepoint.com"
* issuer: C=US; ST=Washington; L=Redmond; O=Microsoft Corporation; OU=Microsoft IT; CN=Microsoft IT TLS CA 1
* SSL certificate verify ok.
> POST //_api/web/lists HTTP/1.1
Host: [private].sharepoint.com
Cookie: FedAuth=[private]
Accept: application/json;odata=verbose
Content-Type: application/json;odata=verbose
X-RequestDigest: [private],25 Jul 2019 18:02:05 -0000
Content-Length: 702
* upload completely sent off: 702 out of 702 bytes
< HTTP/1.1 400 Bad Request
< Cache-Control: private, max-age=0
< Transfer-Encoding: chunked
< Content-Type: application/json;odata=verbose;charset=utf-8
< Expires: Wed, 10 Jul 2019 18:02:05 GMT
< Last-Modified: Thu, 25 Jul 2019 18:02:05 GMT
< P3P: CP="ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI"
< Set-Cookie: [private]; domain=sharepoint.com; path=/; secure; HttpOnly
< Set-Cookie: FedAuth=[private]; path=/; secure; HttpOnly
< X-SharePointHealthScore: 2
< X-SP-SERVERSTATE: ReadOnly=0
< DATASERVICEVERSION: 3.0
< SPClientServiceRequestDuration: 21
< X-AspNet-Version: 4.0.30319
< SPRequestGuid: [private]
< request-id: [private]
< MS-CV: [private]
< X-RequestDigest: [private],25 Jul 2019 18:02:05 -0000
< Strict-Transport-Security: max-age=31536000
< X-FRAME-OPTIONS: SAMEORIGIN
< X-Powered-By: ASP.NET
< MicrosoftSharePointTeamServices: 16.0.0.9117
< X-Content-Type-Options: nosniff
< X-MS-InvokeApp: 1; RequireReadOnly
< X-MSEdge-Ref: Ref A: [private] Ref B: [private] Ref C: 2019-07-25T18:02:05Z
< Date: Thu, 25 Jul 2019 18:02:04 GMT
<
* Connection #0 to host [private].sharepoint.com left intact
Sharepoint::SPException: A null value was found for the property named 'DefaultContentApprovalWorkflowId', which has the expected type 'Edm.Guid[Nullable=False]'. The expected type 'Edm.Guid[Nullable=False]' does not allow null values.
Hi, sorry for the late answer.
It sounds like the easiest way to fix that would be to set DefaultContentApprovalWorkflowId
. I'm not sure how to set such a value. I don't have access to any sharepoint site right now.
If there are existing lists in your site, a quick workaround might be to do the following:
existing_list = site.lists.first
list.default_content_approval_workflow_id = existing_list.default_content_approval_workflow_id