Author Archive

We are happy to announce the immediate availability of version of our SmartAPI.
The NuGet package is already updated to the new version.

2015-10-09: Version
- Added support for creation/deletion of publication settings in publication packages
- Added IPage.GetPreviewHtml() to get the preview html code of a page
- Added IProject.OnlineUsers to get the users currently logged into the project
- Added reference preassignment for structural elements

- Multiple fixes for problems with server version

- Better error messages for some rare cases

We are happy to announce the immediate availability of version of our SmartAPI.
Simulatenously with the new release, we started to provide a NuGet package, so you can automatically update it in the future and don’t have to manage its dependencies manually in your projects.

2015-07-31: Version
- Added support for editing properties other than template content on template variants
- Added Project.ClearPageCache() method
- Add preliminary support for clipboard. Atm only server versions >= 10 are supported and only a limited number of element types
- Added GetValueOrDefault method to standard fields, which returns the content class default value, if the page element has no own value set
- Added support for additional properties on IProjectVariantAssignment
- Made ITransfer an IValueElement with the ability to get/set its value
- Added properties for creation date/last change date and creation user to IPage

- Resolved some problems regarding page workflows, like Page.Workflow always returning null
- Resolved IKeyword.Category returning null, if not accessed through a category
- Adapted SmartAPI to RQL changes in workflow loading in server versions >= 11.2

- NuGet package for SmartAPI now available
- IPage now inherits IProjectObject

We are happy to announce the immediate availability of version of our SmartAPI.

2014-11-20: Version
- Added support for the creation of template variants
- Added support for the renaming of content class elements
- Added IsUnknownUser property to IUser, to check whether a user is no longer known in the system
- Added IContentClass.Pages property

- Removed unnecessary search in media/image elements, when no filename is set

- Image element: some cases of setting of images from subdirectories did not work

- IStandardFieldText now derives from IStandardField<string>

We are happy to announce the immediate availability of version of our SmartAPI:

2014-07-01: Version
- Added support for setting the MainLinkElement of a page
- IPage.MainLinkElement now returns a ILinkElement instead of a IPageElement
- You can now load a page by guid via Project.Pages.GetByGuid

- Support for whitespaces in values of numerical standard fields, just like RedDot
- IStandardFieldEmail.Value no longer throws an exception on access

We are happy to announce the immediate availability of version of our SmartAPI:

2014-05-30: Version
- Added support for SSL connections
- Added initial support for 11.2, but some parts do not work right now due to bugs on OT side
- Added experimental support for page copy and connect, the interfaces might change in a future version

Release of version

by on in Uncategorized No Comments

We are happy to announce the immediate availability of version of the erminas SmartAPI:

2013-09-30: Version
- Added IPage.CreatePublishJob for publishing of single pages/page trees

- Removed unnecessary page loads on Project.Pages

- Removed dead code

Release of version 1.0

by on in Uncategorized No Comments

Today, Sep 24, 2013, meeting the Open Text Usergroup Conference in Düsseldorf the final version 1.0 of the SmartAPI has been released. This marks the API as stable.

You can get the ready to use .dll from our download page. The source code is available on github.
There were some last changes made to the API, so have a really consistent long term supported API, which is a blast to use:

2013-09-24: Version
- Content class elements now contain language dependend attributes instead
of having a copy of all content class elements for every language
- Functionality related to the server manager has been extracted from
ISession and moved into a new IServerManager interface
- Preliminary authentication package support has been removed and
will be replaced by a fully fleged long term supported solution in one of the next releases

Release Candidate 3 of Version 1.0

by on in Uncategorized No Comments

We expect the final release of version 1.0 for the end of september.
In the mean time, we have accumulated a lot of small improvements besides the ongoing work on the content class element API.
The new RC3 contains those improvements, so you can benefit from them, too.
As usual, you can see all changes in the changelog below.

2013-08-29: Version (1.0RC3)
- Preliminary-Support for authentication packages (warning: API WILL change with release of 1.0)
- Support for reading and writing OptionList values on pages
- Support for the creation of database Asset Manager folders
- Support for the creation of subfolders
- Support for the deletion of folders
- Acesss to thumbnail path information for asset manager files

- Simple page search by page type now works as expected
- Text element values were not loaded correctly under some circumstances
- Thumbnails for files in assetmanager folders are now updated as expected
- Deletion of files in asset manager folders now work

- Removed additional page loads for access to page ids from an extended page search

- Object model for option list entries
- Introduction of PageElementFactory to be able to access page elements only through their guid again
- Renamed Category.CategoryKeywords to Category.Keywords
- Renamed IPageSearch.HeadlineExact to IPageSearch.IsMatchingHeadlineExactly
- Renamed IPageSearch.KeywordExact to IPageSearch.IsMatchingKeywordExactly

Release Candidate 2 of Version 1.0

by on in Uncategorized No Comments

First a big thank you to our users of RC1 who gave valuable feedback concerning the API!

After user input and internal discussion we came to the conclusion that the current API for accessing content class elements from content classes does not live up to the standards of the rest of SmartAPI and should be improved before the 1.0 release. While you can enjoy a more intuitive API afterwards, it unfortunately means we have to break code currently working with content class elements one last time, before we have a long term support for the whole API. Concretely this means we will switch from a duplication of all content class elements for each language to a single representation of each element which has language dependend attributes where applicable.

To shorten the waiting time for the final 1.0 release, we release a second release candidate today. It includes the new file system API, support for Windows authentication and also contains lots of other small improvements from performance optimization to functionality previously not covered by SmartAPI. As always we’d love to hear about your opinions, bugs you find and feature wishes you might have, to make SmartAPI even better.

2013-07-06: Version (1.0RC2)
- Support for “Replace Content Class” functionality for pages
- Support for content class folder sharing
- Support for Windows authentication in session creation for servers requiring the users the authenticate themselves
- Support for selection of server side session replacement on session creation, if the maximum number of sessions for the user was reached
- Support for “broken” folders which were shared from no longer existing projects
- Workaround for bug in RedDot servers sometimes sending “<EMPTYBUFFER>” instead of real values on locale specific attributes of content classes

- Setting the value of Text page elements now works as expected
- Setting file to null in media page elements now correctly removes the file from the element
- Project import on servers with version 10 now works as expected (other versions had no problems)

- Speedup of loading of subfolders

- New Folder/File-API. Currently supported are File and Asset Manager Folders (and Content Class Folders, but they are not part of the Folders/File-API).
- IMediaElementBase now implements IValueElement<IFile>, so all page elements whose values can be changed now implement IValueElement.

Release Candidate 1 of Version 1.0

by on in Uncategorized No Comments

We hereby release the first Release Candidate (RC1) of the upcoming version 1.0.

This contains multiple new features and bugfixes, but also a new, more consistent API. The changes to the API were necessary for it to then remain stable throughout the whole 1.x livespan. The most dominant changes are

  1. The public API now (almost) only consists of interfaces. This allows for mocking of the SmartAPI objects and thus easy testing of client code without the need of a running RedDot Server.
  2. Simple collections of objects (e.g. Project->Pages, ContentClass->Content Class Elements, Page->Assigned Keywords) got replaced with special collection objects. Those objects also contain methods for their server-side manipulation (e.g. the creation of a page in a project or the assignment of a keyword to a page). This leads to a consistent experience and allows for easy future extensions without breaking of binary/source compatibility.

Most of the API is already considered final and will most likely not change from now on, so you can start porting your projects without having to worry about future API changes. Noteable exceptions are the new folder/file API which wasn’t ready for the RC1 and the disappearence of the public Session class in favour of the ISession interface (Session already just implements ISession, so only Session construction through the constructor will be replaced for version 1.0).

We invite you, to give the RC a try and give us feedback before the final release of the long term supported version 1.


2013-04-18: Version (1.0RC1)
Major API overhaul in preparation of the 1.0 long term API stable release.
- Introduction of interfaces for everything, the client code interacts with,
to make automatic testing of client code easier,
because Smart API can now be mocked and no real RedDot server is needed.
- More consistent naming of methods/properties
- Consistent representation of collections in extra objects to allow for easy
future extension without breaking source/binary compatibility or cluttering of

- Support for Importing/Exporting/Copying of projects
- Access to asynchronous processes on the server
- Access to linking and appearence schedule of pages
- Access to main language variant of a project
- Support for groups and and group (un-)assignment to projects
- Versioning for projects can be enabled/disabled
- Support for changing most of the properties of users
- Support for creation and deletion of users

- Login with someone who was last logged in to a no longer existing project no longer throws an exception
- Page elements referencing files in subfolders no longer throw an exception on access to the file
- Creating a Session object for an existing session on server versions before 10.0 no longer creates a new session key,
if the project isn’t switched
- The standard language gets determined correctly