Wir freuen uns, die sofortige Verfügbarkeit der Version 1.0.6.0 der SmartAPI verkünden zu können.
Das NuGet Paket wurde bereits aktualisiert, die Version sollte sich also automatisch über NuGet updaten lassen.

2015-10-09: Version 1.0.6.0
————————————
Features:
- 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

Bugfixes:
- Multiple fixes for problems with server version 11.2.2.1090

Other:
- Better error messages for some rare cases

Wir freuen uns, die sofortige Verfügbarkeit der Version 1.0.5.0 der SmartAPI ankündigen zu können.
Gleichzeit haben wir damit begonnen ein NuGet Paket bereit zu stellen, so dass zukünftige Versionen automatisch geupdated werden können und unsere Nutzer die Abhängigkeiten nicht mehr manuell verwalten müssen.

2015-07-31: Version 1.0.5.0
————————————
Features:
- 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

Bugfixes:
- 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

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

Wir freuen uns, Ihnen die Version 1.0.4.0 der SmartAPI zur Verfügung stellen zu können.

2014-11-20: Version 1.0.4.0
————————————
Features:
- 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

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

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

Other:
- IStandardFieldText now derives from IStandardField<string>

Wir freuen uns Ihnen die Version 1.0.3.0 der SmartAPI zur Verfügung stellen zu können:

2014-07-01: Version 1.0.3.0
————————————
Features
- 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

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

Wir freuen uns Ihnen die Version 1.0.2.0 der SmartAPI zur Verfügung stellen zu können:

2014-05-30: Version 1.0.2.0
————————————
Features
- 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

Wir freuen uns, Ihnen die Version 1.0.1.0 der erminas SmartAPI zur Verfügung stellen zu können:

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

Optimization:
- Removed unnecessary page loads on Project.Pages

Other:
- Removed dead code

Heute, am 24.09.2013, wurde die finale Version 1.0 der SmartAPI passend zur Open Text Usergroup Tagung in Düsseldorf veröffentlicht. Die aktuelle API ist damit stabil.

Die fertigen .dlls stehen auf unserer Download Seite zur Verfügung. Der Quellcode liegt auf github bereit.

Wir haben – wie zuvor angekündigt – Änderungen an ein paar Stellen vorgenommen, um eine wirklich konsistente API zu haben, die wir lange unterstützen und mit der es Spass macht zu arbeiten:

2013-09-24: Version 1.0.0.0
————————————
API:
- 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

Die finale Version 1.0 wird voraussichtlich Ende September veröffentlicht.
In der Zwischenzeit haben wir jedoch eine größere Menge an Verbesserungen, die wir gerne schon vorher zur Verfügung stellen wollen, damit auch Sie davon profitieren können.
Die Verbesserungen sind im RC3 enthalten und – wie üblich – im unten stehenden Changelog für Sie zusammengefasst.

2013-08-29: Version 0.9.9.2 (1.0RC3)
————————————
Features:
- 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

Bugfixes:
- 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

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

API:
- 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

Zunächst einmal vielen Dank an unsere Nutzer des RC1, die wertvolles Feedback zur API gegeben haben.

Aufgrund des Feedbacks und interner Diskussionen haben wir uns dazu entschlossen, die aktuelle API zum Zugriff auf Content Class (CC) Elemente vor dem finalen 1.0er Release überarbeiten. Die verbesserte API wird einen intuitiveren Zugriff erlauben, verlangt es aber leider, dass aktueller code, der auf CC Elemente zugreift, überarbeitet werden muss. Konkret wollen wir von der Duplizierung aller CC Elemente für jede Sprachvariante wechseln auf eine einzigen Repräsentation jedes CC Elements, die – wo nötig – sprachabhängige Attribute besitzt.

Um Ihnen die Wartezeit auf das finale 1.0 Release zu verkürzen, gibt es ab heute den zweiten Release Candidate. Dieser beinhaltet die neue Filesystem-API sowie eine Unterstützung für Windows Authentifizierung bei Session-Erstellung. Daneben gibt es viele kleine Verbesserungen, von Performance-Optimierungen bis zum Zugriff auf bisher nicht abgedeckter RedDot Funktionen.Wie immer freuen wir uns, Ihre Meinung zu hören sowie über Bugreports und Feature-Wünsche, um SmartAPI weiter verbessern zu können.

2013-07-06: Version 0.9.9.1 (1.0RC2)
————————————
Features:
- 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

Bugfixes:
- 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)

Optimization:
- Speedup of loading of subfolders

API:
- 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.

Wir geben hiermit den ersten Release Candidate (RC1) der bald erscheinenden Version 1.0 heraus.

Dieser beinhaltet neben neuen Features und Bugfixes auch eine veraenderte, konsistentere API, da die API innerhalb der 1.x Versionsreihe und damit fuer einen langen Zeitraum stabil bleiben muss. Die API-Aenderungen umfassen inbesondere zwei Gebiete:

  1. Die oeffentliche API besteht (fast) nur noch aus interfaces. Dieser Schritt ermoeglicht es, beispielsweise durch “mocking”, Code, der die SmartAPI nutzt, zu testen, ohne dass ein laufendes RedDot-System benoetigt wird.
  2. Dort, wo Klassen auf Mengen von Objekten anderer Klassen verweisen (bspw. Project->Pages, ContentClass->Content Class Elements, Page->Assigned Keywords), werden diese in speziellen Collection-Objekten gekapselt, ueber die auch die Manipulation (bspw. das Erstellen einer Seite im Projekt oder das Zuweisen eines Keywords zu einer Seite) stattfindet. Dies fuehrt zu einer konsistenteren API und erlaubt zukuenftige Erweiterungen, ohne binary/source-Kompatibilitaetsverletzungen.

Die Umstellung der API ist weitestgehend abgeschlossen, so dass man beim Entwickeln gegen den RC 1 weitestgehend sicher sein kann, seine Programme fuer die Lebenszeit der 1.x Versionsreihe nicht mehr an SmartAPI-Aenderungen anpassen zu muessen. Davon ausgenommen ist eine neue Folder/File API, die es leider nicht rechtzeitig in den RC 1 geschafft hat, sowie das Verschwinden der public Session Klasse zugunsten des ISession-Interfaces (Session implementiert ISession, so dass einzig die Sessionerzeugung ueber den Konstruktor betroffen sein wird).

Wir laden ausdruecklich dazu ein, den RC zu testen und Feedback vor der finalen Version 1.0 zu geben.

Changelog:

2013-04-18: Version 0.9.9.0 (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
interfaces/namespaces

Features:
- 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

Bugfixes:
- 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