Read.Projects
This method allows you to retrieve projects properties from organisation you have access to. If organisation level access is used, only projects belonging to the selected organisations will be returned. You can choose to read all projects, projects belonging to a specific organisation or individual project. Additionally it is possible to include all project properties or just a basic set of properties. Please note that if you choose to include all properties the performance impact on the server is higher, so only request these properties if you actually need them.
Input parameters
Name | Description | Type | Mandatory/Optional |
---|---|---|---|
SiteId | Site where action will be executed. | Integer | Optional |
VendorId | VendorId. Currently not used. | Text | Optional |
PageIndex | Index of the requested page. | Integer | Optional (defaults to 0) |
PageSize | Size of the requested page. | Integer | Optional (defaults to 100) |
Id | Identifier of an entity to filter the result set on. Refer to IdType to the impact of this setting. | Integer | Optional |
IdType | The type of the identifier specified by Id.
NOTE1: If IdType is ProjectId the service will return an error if the specified project is deleted. If IdType is any other value the result set will not include any deleted or archived project. NOTE2: Only projects connected to organisations you have access to will be returned. | Enum of:
| Mandatory if Id is provided Forbidden if Id is not provided |
IncludeAdditionalData | If set to true, the result set will contain all project properties. If set to false, the AdditionalData output parameter will always be null. | Boolean | Optional (defaults to false) |
Output parameters
Name | Description | Type |
---|---|---|
CurrentPageIndex | The index of the current page. | Integer |
PageSize | The size of the current page. | Integer |
Total | The total number of items which meet the input parameters. | Integer |
Projects | Array of projects containing one row for each project in the page. | Project[] |
| Identifier of the project. | Integer |
| Project title. | String |
| Project description. | String |
| Date of the project last updated. | DateTime |
| Identifier of the organisation. | Integer |
| Organisation title. | String |
| SyncKey of the organisation. | String |
| Node containing all the additional data. This is only populated if the input parameter IncludeAdditionalData is set to true. | Custom |
| The date at which the project was created. | DateTime |
| The PersonId of the project creator. | Integer |
| The date at which this project was last accessed by a project participant. | DateTime |
| Array containing all project functions. | ProjectFunction[] |
| Specifies if the project function is active or not. | Boolean |
| The name of the project function (in English). | String |
Example #1 - Unfiltered request
<
soapenv
:Envelope
xmlns:soapenv
=
"http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem
=
"http://tempuri.org/"
xmlns:its
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities"
xmlns:its1
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities.ReadProjects"
>
<
soapenv
:Header/>
<
soapenv
:Body>
<
tem
:ReadProjects>
<
tem
:request>
</
tem
:request>
</
tem
:ReadProjects>
</
soapenv
:Body>
</
soapenv
:Envelope>
<
s
:Envelope
xmlns:s
=
"http://schemas.xmlsoap.org/soap/envelope/"
xmlns:u
=
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
>
<
s
:Header>
<
o
:Security
s:mustUnderstand
=
"1"
xmlns:o
=
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
>
<
u
:Timestamp
u:Id
=
"_0"
>
<
u
:Created>2013-12-30T14:12:08.075Z</
u
:Created>
<
u
:Expires>2013-12-30T14:17:08.075Z</
u
:Expires>
</
u
:Timestamp>
</
o
:Security>
</
s
:Header>
<
s
:Body>
<
ReadProjectsResponse
xmlns
=
"http://tempuri.org/"
>
<
ReadProjectsResult
xmlns:a
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities.ReadProjects"
xmlns:i
=
"http://www.w3.org/2001/XMLSchema-instance"
>
<
CurrentPageIndex
xmlns
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities"
>0</
CurrentPageIndex
>
<
PageSize
xmlns
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities"
>100</
PageSize
>
<
Total
xmlns
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities"
>2</
Total
>
<
a
:Projects>
<
a
:Project>
<
a
:AdditionalData
i:nil
=
"true"
/>
<
a
:LastUpdated>2013-12-30T14:07:37</
a
:LastUpdated>
<
a
:OrganisationID>1</
a
:OrganisationID>
<
a
:OrganisationName>Site</
a
:OrganisationName>
<
a
:OrganisationSyncKey>sync_key</
a
:OrganisationSyncKey>
<
a
:ProjectDescription>description</
a
:ProjectDescription>
<
a
:ProjectID>1</
a
:ProjectID>
<
a
:ProjectTitle>Some project</
a
:ProjectTitle>
</
a
:Project>
<
a
:Project>
<
a
:AdditionalData
i:nil
=
"true"
/>
<
a
:LastUpdated>2013-12-30T14:07:12</
a
:LastUpdated>
<
a
:OrganisationID>1</
a
:OrganisationID>
<
a
:OrganisationName>Site</
a
:OrganisationName>
<
a
:OrganisationSyncKey>sync_key</
a
:OrganisationSyncKey>
<
a
:ProjectDescription>project description</
a
:ProjectDescription>
<
a
:ProjectID>2</
a
:ProjectID>
<
a
:ProjectTitle>Test project</
a
:ProjectTitle>
</
a
:Project>
</
a
:Projects>
</
ReadProjectsResult
>
</
ReadProjectsResponse
>
</
s
:Body>
</
s
:Envelope>
Example #2 - Request filtered on OrganisationSyncKey and max response size of 1
<
soapenv
:Envelope
xmlns:soapenv
=
"http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem
=
"http://tempuri.org/"
xmlns:its
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities"
xmlns:its1
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities.ReadProjects"
>
<
soapenv
:Header/>
<
soapenv
:Body>
<
tem
:ReadProjects>
<
tem
:request>
<
its
:PageIndex>0</
its
:PageIndex>
<
its
:PageSize>1</
its
:PageSize>
<
its1
:Id>sync_key</
its1
:Id>
<
its1
:IdType>OrganisationSyncKey</
its1
:IdType>
<
its1
:IncludeAdditionalData>true</
its1
:IncludeAdditionalData>
</
tem
:request>
</
tem
:ReadProjects>
</
soapenv
:Body>
</
soapenv
:Envelope>
<
s
:Envelope
xmlns:s
=
"http://schemas.xmlsoap.org/soap/envelope/"
xmlns:u
=
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
>
<
s
:Header>
<
o
:Security
s:mustUnderstand
=
"1"
xmlns:o
=
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
>
<
u
:Timestamp
u:Id
=
"_0"
>
<
u
:Created>2013-12-30T14:15:54.584Z</
u
:Created>
<
u
:Expires>2013-12-30T14:20:54.584Z</
u
:Expires>
</
u
:Timestamp>
</
o
:Security>
</
s
:Header>
<
s
:Body>
<
ReadProjectsResponse
xmlns
=
"http://tempuri.org/"
>
<
ReadProjectsResult
xmlns:a
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities.ReadProjects"
xmlns:i
=
"http://www.w3.org/2001/XMLSchema-instance"
>
<
CurrentPageIndex
xmlns
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities"
>0</
CurrentPageIndex
>
<
PageSize
xmlns
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities"
>1</
PageSize
>
<
Total
xmlns
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities"
>1</
Total
>
<
a
:Projects>
<
a
:Project>
<
a
:AdditionalData>
<
a
:Created>2013-12-27T07:48:03</
a
:Created>
<
a
:CreatedBy>2</
a
:CreatedBy>
<
a
:LastAccessed>2013-12-30T14:07:38</
a
:LastAccessed>
<
a
:ProjectFunctions>
<
a
:ProjectFunction>
<
a
:FunctionActive>true</
a
:FunctionActive>
<
a
:FunctionName>Show Links</
a
:FunctionName>
</
a
:ProjectFunction>
<
a
:ProjectFunction>
<
a
:FunctionActive>true</
a
:FunctionActive>
<
a
:FunctionName>Show Participants</
a
:FunctionName>
</
a
:ProjectFunction>
<
a
:ProjectFunction>
<
a
:FunctionActive>true</
a
:FunctionActive>
<
a
:FunctionName>Use Calendar</
a
:FunctionName>
</
a
:ProjectFunction>
<
a
:ProjectFunction>
<
a
:FunctionActive>true</
a
:FunctionActive>
<
a
:FunctionName>Show Bulletin Board</
a
:FunctionName>
</
a
:ProjectFunction>
</
a
:ProjectFunctions>
</
a
:AdditionalData>
<
a
:LastUpdated>2013-12-30T14:07:37</
a
:LastUpdated>
<
a
:OrganisationID>1</
a
:OrganisationID>
<
a
:OrganisationName>Site</
a
:OrganisationName>
<
a
:OrganisationSyncKey>sync_key</
a
:OrganisationSyncKey>
<
a
:ProjectDescription>description</
a
:ProjectDescription>
<
a
:ProjectID>1</
a
:ProjectID>
<
a
:ProjectTitle>Some project</
a
:ProjectTitle>
</
a
:Project>
</
a
:Projects>
</
ReadProjectsResult
>
</
ReadProjectsResponse
>
</
s
:Body>
</
s
:Envelope>
Error states
If you request an individual project, the following cases will return an error:
- The requested project does not exists.
- The requested project has been deleted.
- The requested project exists, but belongs to an organisation the requester does not have access to.
If you request projects in organisation by OrganisationSyncKey, the following casses will return an error:
- The requested organisation does not exists.
- The requested organisation exists, but requester has no access to the specified organisation.
Additionally, for all requests, the following cases will return an error:
- IdType not used, but Id is specified.
- Id not used, but IdType is other than Unknow.