SmartAPI
Open Source .NET RQL library for RedDot CMS / OpenText WSM Management Server
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Properties Pages
erminas.SmartAPI.CMS.Project.Pages.IPage Interface Reference

Wrapper for the RedDot Page object. If status changes occur, you have to call PartialRedDotObject.Refresh to see them reflected in the status field, More...

+ Inheritance diagram for erminas.SmartAPI.CMS.Project.Pages.IPage:
+ Collaboration diagram for erminas.SmartAPI.CMS.Project.Pages.IPage:

Public Member Functions

void Commit ()
 Save changes to headline/filename to the server.
 
void CopyAndConnectAsync (ILinkElement connectionTarget, PageCopyAndConnectFlags flags=PageCopyAndConnectFlags.None)
 Copy this page and connect the copy to a target asynchronously. Warning, this is experimental and might change in a future version
 
IPageCopyAndConnectJob CreateCopyAndConnectJob (ILinkElement connectionTarget, PageCopyAndConnectFlags flags=PageCopyAndConnectFlags.None)
 Warning, this is experimental and might change in a future version
 
IPagePublishJob CreatePublishJob ()
 
new void Delete ()
 Move the page to the recycle bin, if page has been released yet. Otherwise the page will be deleted from CMS server completely.
 
void DeleteFromRecycleBin ()
 Delete the page from the recycle bin
 
void DeleteIfNotReferenced ()
 Move the page to the recycle bin, if page has been released yet. Otherwise the page will be deleted from CMS server completely. If you want to make sure it is completly removed from the server, even if has been released, use Page.DeleteIrrevocably instead of calling this method and Page.DeleteFromRecycleBin. Throws a PageDeletionException, if references still point to elements of this page or an element is assigned as target container to a link.
 
void DeleteIrrevocably (int maxWaitForDeletionInMs=1250)
 Delete the page Independant of the state the page is in (e.g released or already in recycle bin), the page will be removed from CMS and cannot be restored. Forces the deletion, even if references still point to elements of this page or an element is assigned as target container to a link. If the page was released, it will be moved to the recycle bin first. Removing it from there leads to a race condition on the server: the page can be already marked as being in the recycle bin, but a call to remove it from there can still fail for some time. For this reason a we try to delete it until the operation is successful or a timeout is reached. If you want to delete multiple pages a call only to Delete() and a collective removal from the recycle bin afterwards is faster than a call to DeleteIrrevocably on every single page.
 
void DisconnectFromParent ()
 Disconnects the page from its parent (main link).
 
string GetPreviewHtml (PreviewHtmlType previewType)
 
IPage Refreshed ()
 
void Reject ()
 Rejects the page from the current level of workflow.
 
void Release ()
 Released the page.
 
void ReplaceContentClass (IContentClass replacement, IDictionary< string, string > oldToNewMapping, Replace replace)
 
void ResetToDraft ()
 Reset the page to draft status.
 
void Restore ()
 Restore page from recycle bin
 
void SkipWorkflow ()
 Push the page through workflow. Afterwards the (release) status of this page object no longer reflects the real status. To update it, call PartialRedDotObject.Refresh . The object ist not automaticall updated to not incurr unnecessary overhead, if that information isn't needed anyway.
 
void SubmitToWorkflow ()
 Submit the page to workflow.
 
void Undo ()
 Imitates the RedDot Undo page function. If the page has no previous state it is deleted. See the RedDot documentation for more details.
 
- Public Member Functions inherited from erminas.SmartAPI.CMS.IDeletable
void Delete ()
 

Properties

DateTime CheckinDate [get]
 
IContentClass ContentClass [get]
 Content class of the page
 
IIndexedRDList< string,
IPageElement
ContentElements [get]
 All content elements of this page. Indexed by name and cached by default.
 
DateTime CreateDate [get]
 
bool Exists [get]
 
string Filename [get, set]
 Page filename. Same as Name.
 
string Headline [get, set]
 Headline of the page
 
int Id [get]
 Page Id.
 
ILanguageVariant LanguageVariant [get]
 
DateTime LastChangeDate [get]
 
IUser LastChangeUser [get]
 
IRDList< ILinkingAndAppearanceLinkedFrom [get]
 
IRDList< ILinkElementLinkElements [get]
 All link elements of this page.
 
ILinkElement MainLinkElement [get, set]
 WARNING: Use MainParentLinkElement instead! This is atm the main parent link element this page is connected to. In a future version this will change, so please use MainParentLink instead.
 
ILinkElement MainLinkNavigationElement [get, set]
 
ILinkElement MainParentLinkElement [get, set]
 
new string Name [get, set]
 
IPage Parent [get]
 Parent page (the page containing this page's main link).
 
DateTime ReleaseDate [get]
 Date of the release.
 
PageReleaseStatus ReleaseStatus [get, set]
 The current release status of this page. Setting it will change it on the server.
 
PageState Status [get, set]
 ReleaseStatus of the page.
 
IPageElement this[string elementName] [get]
 Get a content/link element of this page with a specific name.
 
IWorkflow Workflow [get]
 Returns the Workflow this page adheres to.
 
- Properties inherited from erminas.SmartAPI.CMS.Project.Pages.ILinkTarget
IRDList< ILinkElementReferencedFrom [get]
 
- Properties inherited from erminas.SmartAPI.CMS.IRedDotObject
Guid Guid [get]
 
string Name [get]
 
- Properties inherited from erminas.SmartAPI.CMS.Project.IProjectObject
IProject Project [get]
 
- Properties inherited from erminas.SmartAPI.CMS.ISessionObject
ISession Session [get]
 
- Properties inherited from erminas.SmartAPI.CMS.Project.Pages.Elements.IKeywordAssignable
IAssignedKeywords AssignedKeywords [get]
 

Detailed Description

Wrapper for the RedDot Page object. If status changes occur, you have to call PartialRedDotObject.Refresh to see them reflected in the status field,

Definition at line 99 of file IPage.cs.

Member Function Documentation

void erminas.SmartAPI.CMS.Project.Pages.IPage.Commit ( )

Save changes to headline/filename to the server.

void erminas.SmartAPI.CMS.Project.Pages.IPage.CopyAndConnectAsync ( ILinkElement  connectionTarget,
PageCopyAndConnectFlags  flags = PageCopyAndConnectFlags.None 
)

Copy this page and connect the copy to a target asynchronously. Warning, this is experimental and might change in a future version

Parameters
connectionTargetThe target, the copy gets connected to
flagsFlags for copying, you can combine multiple flags with the binary or operator

page.CopyAndConnectAsync(list, PageCopyAndConnectFlags.AlsoCopyCompleteTree | PageCopyAndConnectFlags.AdoptFileNames | PageCopyAndConnectFlags.AdoptProjectVariantAssignments);

IPageCopyAndConnectJob erminas.SmartAPI.CMS.Project.Pages.IPage.CreateCopyAndConnectJob ( ILinkElement  connectionTarget,
PageCopyAndConnectFlags  flags = PageCopyAndConnectFlags.None 
)

Warning, this is experimental and might change in a future version

IPagePublishJob erminas.SmartAPI.CMS.Project.Pages.IPage.CreatePublishJob ( )
new void erminas.SmartAPI.CMS.Project.Pages.IPage.Delete ( )

Move the page to the recycle bin, if page has been released yet. Otherwise the page will be deleted from CMS server completely.

void erminas.SmartAPI.CMS.Project.Pages.IPage.DeleteFromRecycleBin ( )

Delete the page from the recycle bin

void erminas.SmartAPI.CMS.Project.Pages.IPage.DeleteIfNotReferenced ( )

Move the page to the recycle bin, if page has been released yet. Otherwise the page will be deleted from CMS server completely. If you want to make sure it is completly removed from the server, even if has been released, use Page.DeleteIrrevocably instead of calling this method and Page.DeleteFromRecycleBin. Throws a PageDeletionException, if references still point to elements of this page or an element is assigned as target container to a link.

Exceptions
PageDeletionExceptionThrown, if page could not be deleted.
void erminas.SmartAPI.CMS.Project.Pages.IPage.DeleteIrrevocably ( int  maxWaitForDeletionInMs = 1250)

Delete the page Independant of the state the page is in (e.g released or already in recycle bin), the page will be removed from CMS and cannot be restored. Forces the deletion, even if references still point to elements of this page or an element is assigned as target container to a link. If the page was released, it will be moved to the recycle bin first. Removing it from there leads to a race condition on the server: the page can be already marked as being in the recycle bin, but a call to remove it from there can still fail for some time. For this reason a we try to delete it until the operation is successful or a timeout is reached. If you want to delete multiple pages a call only to Delete() and a collective removal from the recycle bin afterwards is faster than a call to DeleteIrrevocably on every single page.

Parameters
maxWaitForDeletionInMsMaximum amount of time in miliseconds to wait for a successful deletion of the page. The default value of 1250ms proved reliable in internal tests.
Exceptions
PageDeletionExceptionThrown, if page could not be deleted.
void erminas.SmartAPI.CMS.Project.Pages.IPage.DisconnectFromParent ( )

Disconnects the page from its parent (main link).

string erminas.SmartAPI.CMS.Project.Pages.IPage.GetPreviewHtml ( PreviewHtmlType  previewType)
IPage erminas.SmartAPI.CMS.Project.Pages.IPage.Refreshed ( )

+ Here is the caller graph for this function:

void erminas.SmartAPI.CMS.Project.Pages.IPage.Reject ( )

Rejects the page from the current level of workflow.

void erminas.SmartAPI.CMS.Project.Pages.IPage.Release ( )

Released the page.

void erminas.SmartAPI.CMS.Project.Pages.IPage.ReplaceContentClass ( IContentClass  replacement,
IDictionary< string, string >  oldToNewMapping,
Replace  replace 
)
void erminas.SmartAPI.CMS.Project.Pages.IPage.ResetToDraft ( )

Reset the page to draft status.

void erminas.SmartAPI.CMS.Project.Pages.IPage.Restore ( )

Restore page from recycle bin

void erminas.SmartAPI.CMS.Project.Pages.IPage.SkipWorkflow ( )

Push the page through workflow. Afterwards the (release) status of this page object no longer reflects the real status. To update it, call PartialRedDotObject.Refresh . The object ist not automaticall updated to not incurr unnecessary overhead, if that information isn't needed anyway.

void erminas.SmartAPI.CMS.Project.Pages.IPage.SubmitToWorkflow ( )

Submit the page to workflow.

void erminas.SmartAPI.CMS.Project.Pages.IPage.Undo ( )

Imitates the RedDot Undo page function. If the page has no previous state it is deleted. See the RedDot documentation for more details.

Property Documentation

DateTime erminas.SmartAPI.CMS.Project.Pages.IPage.CheckinDate
get

Definition at line 103 of file IPage.cs.

IContentClass erminas.SmartAPI.CMS.Project.Pages.IPage.ContentClass
get

Content class of the page

Definition at line 117 of file IPage.cs.

IIndexedRDList<string, IPageElement> erminas.SmartAPI.CMS.Project.Pages.IPage.ContentElements
get

All content elements of this page. Indexed by name and cached by default.

Definition at line 122 of file IPage.cs.

DateTime erminas.SmartAPI.CMS.Project.Pages.IPage.CreateDate
get

Definition at line 101 of file IPage.cs.

bool erminas.SmartAPI.CMS.Project.Pages.IPage.Exists
get

Definition at line 181 of file IPage.cs.

string erminas.SmartAPI.CMS.Project.Pages.IPage.Filename
getset

Page filename. Same as Name.

Definition at line 186 of file IPage.cs.

string erminas.SmartAPI.CMS.Project.Pages.IPage.Headline
getset

Headline of the page

Definition at line 191 of file IPage.cs.

int erminas.SmartAPI.CMS.Project.Pages.IPage.Id
get

Page Id.

Definition at line 196 of file IPage.cs.

ILanguageVariant erminas.SmartAPI.CMS.Project.Pages.IPage.LanguageVariant
get

Definition at line 204 of file IPage.cs.

DateTime erminas.SmartAPI.CMS.Project.Pages.IPage.LastChangeDate
get

Definition at line 105 of file IPage.cs.

IUser erminas.SmartAPI.CMS.Project.Pages.IPage.LastChangeUser
get

Definition at line 107 of file IPage.cs.

IRDList<ILinkingAndAppearance> erminas.SmartAPI.CMS.Project.Pages.IPage.LinkedFrom
get

Definition at line 211 of file IPage.cs.

IRDList<ILinkElement> erminas.SmartAPI.CMS.Project.Pages.IPage.LinkElements
get

All link elements of this page.

Definition at line 209 of file IPage.cs.

ILinkElement erminas.SmartAPI.CMS.Project.Pages.IPage.MainLinkElement
getset

WARNING: Use MainParentLinkElement instead! This is atm the main parent link element this page is connected to. In a future version this will change, so please use MainParentLink instead.

Definition at line 220 of file IPage.cs.

ILinkElement erminas.SmartAPI.CMS.Project.Pages.IPage.MainLinkNavigationElement
getset

Definition at line 223 of file IPage.cs.

ILinkElement erminas.SmartAPI.CMS.Project.Pages.IPage.MainParentLinkElement
getset

Definition at line 213 of file IPage.cs.

new string erminas.SmartAPI.CMS.Project.Pages.IPage.Name
getset

Definition at line 225 of file IPage.cs.

IPage erminas.SmartAPI.CMS.Project.Pages.IPage.Parent
get

Parent page (the page containing this page's main link).

Definition at line 230 of file IPage.cs.

DateTime erminas.SmartAPI.CMS.Project.Pages.IPage.ReleaseDate
get

Date of the release.

TODO last or initial release?

Definition at line 248 of file IPage.cs.

PageReleaseStatus erminas.SmartAPI.CMS.Project.Pages.IPage.ReleaseStatus
getset

The current release status of this page. Setting it will change it on the server.

Definition at line 253 of file IPage.cs.

PageState erminas.SmartAPI.CMS.Project.Pages.IPage.Status
getset

ReleaseStatus of the page.

Definition at line 278 of file IPage.cs.

IPageElement erminas.SmartAPI.CMS.Project.Pages.IPage.this[string elementName]
get

Get a content/link element of this page with a specific name.

Exceptions
KeyNotFoundExceptionThrown, if no element with the expected name could be found.

Definition at line 202 of file IPage.cs.

IWorkflow erminas.SmartAPI.CMS.Project.Pages.IPage.Workflow
get

Returns the Workflow this page adheres to.

Definition at line 293 of file IPage.cs.


The documentation for this interface was generated from the following file: