{"id":1453,"date":"2014-05-30T11:13:48","date_gmt":"2014-05-30T09:13:48","guid":{"rendered":"http:\/\/hasselba.ch\/blog\/?p=1453"},"modified":"2014-05-30T11:13:48","modified_gmt":"2014-05-30T09:13:48","slug":"xpages-create-a-database-without-template","status":"publish","type":"post","link":"https:\/\/hasselba.ch\/blog\/?p=1453","title":{"rendered":"XPages: Create a Database without Template"},"content":{"rendered":"<p>On stackoverflow.com, an interessting topic was asked about how to create a notes database programmatically without using a template. The problem is, that it will not contain a Icon document. But in this document are all database properties stored. So the question is: <a title=\"stackoverflow.com: Create an iconNote Document in a new database\" href=\"http:\/\/stackoverflow.com\/questions\/23941642\/create-an-iconnote-document-in-a-new-database\" target=\"_blank\">How can you create this document<\/a>?<\/p>\n<p><a title=\"frostillic.us\" href=\"https:\/\/frostillic.us\/\" target=\"_blank\">Jesse Gallagher<\/a> came up with the idea to use the DXL import and create the Icon document this way, which works fine. But the next problem is, that there is no ACL note in the database and no default view.<\/p>\n<p>That&#8217;s why I modified his idea and created a Java Utility class. This class creates a new database which includes all of the required design elements.<\/p>\n<pre><code>package ch.hasselba.core;\r\n\r\nimport lotus.domino.ACL;\r\nimport lotus.domino.Base;\r\nimport lotus.domino.Database;\r\nimport lotus.domino.DbDirectory;\r\nimport lotus.domino.DxlImporter;\r\nimport lotus.domino.Session;\r\n\r\n\/**\r\n\u00a0* DB Utilities\r\n\u00a0* \r\n\u00a0* @author Sven Hasselbach\r\n\u00a0* @version 1.1\r\n\u00a0*\/\r\npublic class DBUtil {\r\n\r\n\u00a0\u00a0 \u00a0\/**\r\n\u00a0\u00a0 \u00a0 * creates a new database \r\n\u00a0\u00a0 \u00a0 * the database is identically to a database created by the -blank- template in designer.\r\n\u00a0\u00a0 \u00a0 * The default access is set to Manager\r\n\u00a0\u00a0 \u00a0 * \u00a0\r\n\u00a0\u00a0 \u00a0 * @param session\r\n\u00a0\u00a0 \u00a0 * \u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0the session used to create the database\r\n\u00a0\u00a0 \u00a0 * @param dbTitle\r\n\u00a0\u00a0 \u00a0 * \u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0the database title\r\n\u00a0\u00a0 \u00a0 * @param dbPath\r\n\u00a0\u00a0 \u00a0 * \u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0the path of the database\r\n\u00a0\u00a0 \u00a0 * @param dbServer\r\n\u00a0\u00a0 \u00a0 * \u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0the server \r\n\u00a0\u00a0 \u00a0 * \r\n\u00a0\u00a0 \u00a0 * @version 1.1\r\n\u00a0\u00a0 \u00a0 *\/\r\n\u00a0\u00a0 \u00a0public static void createDatabase( Session session,\u00a0 final String dbTitle, final String dbPath, final String dbServer ) {\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0DbDirectory dbDir = null;\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0Database db = null;\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0DxlImporter importer = null;\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0ACL acl = null;\r\n\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0try{\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\/\/ create a new database\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0dbDir = session.getDbDirectory( dbServer );\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0db = dbDir.createDatabase( dbPath );\r\n\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\/\/ initialize dxl importer\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0importer = session.createDxlImporter();\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0importer.setDesignImportOption( DxlImporter.DXLIMPORTOPTION_REPLACE_ELSE_CREATE );\r\n\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\/\/ generate DXL\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0String dxl = generateDXL( dbTitle, dbPath, db.getReplicaID() );\r\n\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\/\/ import DXL\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0importer.importDxl(dxl, db);\r\n\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\/\/ set ACL: Default to Manager\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0acl = db.getACL();\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0acl.getFirstEntry().setLevel(ACL.LEVEL_MANAGER);\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0acl.save();\r\n\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0}catch(Exception e){\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0e.printStackTrace();\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0}finally{\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0recycleObj( acl );\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0recycleObj( importer );\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0recycleObj( db );\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0recycleObj( dbDir );\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0}\r\n\r\n\u00a0\u00a0 \u00a0}\r\n\r\n\u00a0\u00a0 \u00a0\/**\r\n\u00a0\u00a0 \u00a0 * generates the DXL for a blank database\r\n\u00a0\u00a0 \u00a0 * \r\n\u00a0\u00a0 \u00a0 * @param dbTitle\r\n\u00a0\u00a0 \u00a0 *\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0the title of the database\r\n\u00a0\u00a0 \u00a0 * @param dbPath\r\n\u00a0\u00a0 \u00a0 * \u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0the path of the database\r\n\u00a0\u00a0 \u00a0 * @param dbReplicaId\r\n\u00a0\u00a0 \u00a0 * \u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0the replica of the database\r\n\u00a0\u00a0 \u00a0 * @return\u00a0\u00a0 \u00a0String with DXL\r\n\u00a0\u00a0 \u00a0 * \r\n\u00a0\u00a0 \u00a0 * @version 1.1\r\n\u00a0\u00a0 \u00a0 * \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\r\n\u00a0\u00a0 \u00a0 *\/\r\n\u00a0\u00a0 \u00a0private static String generateDXL( final String dbTitle, final String dbPath , final String dbReplicaId ){\r\n\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0StringBuilder str = new StringBuilder();\r\n\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"&lt;?xml version='1.0' encoding='utf-8'?&gt;\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"&lt;!DOCTYPE database SYSTEM 'xmlschemas\/domino_8_5_3.dtd'&gt;\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"&lt;database xmlns='http:\/\/www.lotus.com\/dxl' version='8.5' maintenanceversion='3.0' \");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"replicaid='\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append( dbReplicaId );\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"' path='\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append( dbPath );\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"' title='\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append( dbTitle );\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"' allowstoredforms='false' \");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"usejavascriptinpages='false' increasemaxfields='true' showinopendialog='false'&gt;\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"&lt;databaseinfo dbid='\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append( dbReplicaId );\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append( \"' odsversion='51' \");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"numberofdocuments='0'&gt;&lt;\/databaseinfo&gt;\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"&lt;note default='true' class='icon'&gt;\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"&lt;noteinfo noteid='11e'&gt;\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"&lt;\/noteinfo&gt;\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"&lt;item name='IconBitmap' summary='true'&gt;\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"&lt;rawitemdata type='6'&gt;\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"AiAgAQAA\/\/\/\/\/\/\/wD\/\/\/gAH\/\/gAAf\/wAAD\/4AAAf8AAAD+AAAAfgAAAHwAAAA8AAAAPAAAADgAAA\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"AYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHAAAADwAAAA8AAAAPgAAAH4AAAB\/AAAA\/4AAAf\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"\/AAAP\/4AAH\/\/gAH\/\/\/AP\/\/\/\/\/\/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAiIiIiAAAAAAAAAAAAAAI\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"jPZmZm\/IgAAAAAAAAAAIjGZmZmZmZsiAAAAAAAAAjGZmZmZmZmZmyAAAAAAACMZmZmZmZmZmZmyA\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"AAAAAIxmZmZmZmZmZmZmyAAAAAjGZmZmZmZmZmZmZmyAAAAIZmbyL2byL2byL2ZmgAAAjGZmIiJm\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"IiJmIiJmZsgAAIZmZiIiZiIiZiIiZmZoAADGZmYiImYiImYiImZmbAAI9mZmIiJmIiJmIiJmZm+A\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"CGZmZiIiZiIiZiIiZmZmgAhmZmYiImYiImYiImZmZoAIZmZmIiJmIiJmIiJmZmaACGZvIiIiZiIi\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"ZiIiIvZmgAhmYiIiImYiImYiIiImZoAIZm8iIi9m8i9m8iIi9maACPZmZmZmZmZmZmZmZmZvgADG\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"ZmbyL2byL2byL2ZmbAAAj2ZmIiJmIiJmIiJmZvgAAIxmZiIiZiIiZiIiZmbIAAAI9mbyL2byL2by\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"L2ZvgAAACMZmZmZmZmZmZmZmbIAAAACMZmZmZmZmZmZmZsgAAAAACMZmZmZmZmZmZmyAAAAAAACM\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"9mZmZmZmZm\/IAAAAAAAACIz2ZmZmZm\/IgAAAAAAAAAAIiMZmZmyIgAAAAAAAAAAAAACIiIiIAAAA\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"AAAAUEECICABAAD\/\/\/\/\/+A4DgA==\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"&lt;\/rawitemdata&gt;&lt;\/item&gt;\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"&lt;item name='$Daos'&gt;&lt;text&gt;0&lt;\/text&gt;&lt;\/item&gt;\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"&lt;item name='$TITLE'&gt;&lt;text&gt;\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append( dbTitle );\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"&lt;\/text&gt;&lt;\/item&gt;\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"&lt;item name='$Flags'&gt;&lt;text&gt;7f&lt;\/text&gt;&lt;\/item&gt;\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"&lt;item name='$FlagsNoRefresh'&gt;&lt;text\/&gt;&lt;\/item&gt;&lt;\/note&gt;\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"&lt;view xmlns='http:\/\/www.lotus.com\/dxl' version='8.5' maintenanceversion='3.0' \");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"replicaid='\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append( dbReplicaId );\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"' showinmenu='true' publicaccess='false' default='true' noviewformat='true'&gt;\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"&lt;noteinfo noteid='11a' sequence='1'&gt;&lt;\/noteinfo&gt;\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"&lt;code event='selection'&gt;&lt;formula&gt;SELECT @All&lt;\/formula&gt;&lt;\/code&gt;\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"&lt;item name='$FormulaClass'&gt;&lt;text&gt;1&lt;\/text&gt;&lt;\/item&gt;&lt;\/view&gt;\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0str.append(\"&lt;\/database&gt;\");\r\n\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0return str.toString();\r\n\r\n\u00a0\u00a0 \u00a0}\r\n\r\n\u00a0\u00a0 \u00a0\/**\r\n\u00a0\u00a0 \u00a0 * recycles notes objects\r\n\u00a0\u00a0 \u00a0 * \r\n\u00a0\u00a0 \u00a0 * @param obj\r\n\u00a0\u00a0 \u00a0 * \u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0the notes object to recycle\r\n\u00a0\u00a0 \u00a0 *\/\r\n\u00a0\u00a0 \u00a0private static void recycleObj( Base obj ){\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0try{\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0if( obj != null )\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0obj.recycle();\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0}catch( Exception e ){}\r\n\u00a0\u00a0 \u00a0}\r\n}<\/code><\/pre>\n<p>Here is an example XPage how to use the class:<\/p>\n<pre><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n&lt;xp:view xmlns:xp=\"http:\/\/www.ibm.com\/xsp\/core\"&gt;\r\n\r\n\u00a0\u00a0 \u00a0DB Path:&lt;xp:inputText id=\"inputTextDBPath\" value=\"#{viewScope.dbPath}\" \/&gt;&lt;xp:br \/&gt;\r\n\u00a0\u00a0 \u00a0DB Title:&lt;xp:inputText id=\"inputText1\" value=\"#{viewScope.dbTitle}\" \/&gt;&lt;xp:br \/&gt;\r\n\r\n\u00a0\u00a0 \u00a0&lt;xp:button value=\"Create DB\" id=\"buttonCreateDB\"&gt;\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0&lt;xp:eventHandler event=\"onclick\" submit=\"true\" refreshMode=\"complete\"&gt;\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0&lt;xp:this.action&gt;\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0&lt;![CDATA[#{javascript:\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0importPackage( ch.hasselba.core );\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0var dbUtil = new ch.hasselba.core.DBUtil();\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0dbUtil.createDatabase(session, viewScope.dbTitle, viewScope.dbPath, \"\");\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0}]]&gt;\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0&lt;\/xp:this.action&gt;\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0&lt;\/xp:eventHandler&gt;\r\n\u00a0\u00a0 \u00a0&lt;\/xp:button&gt;\r\n\r\n&lt;\/xp:view&gt;<\/code><\/pre>\n<p>You can enter the database Title and the database path. After clicking the button &#8222;Create DB&#8220;, the database is created on the server (assuming you have the right to do that).<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMIAAABSCAIAAACJ5ZwlAAAHNElEQVR4nO2bTW8TRxiA5wclElX2n9DkAj008wesSsZxySlwMMYmMu6hCJk6J5JcKLVNRSEJkSugIW5KmwSzqSvhRpXluCnFcSpvAunB69mZ3Zn116zX7L6P5rA7H++Odx5m1+YN2qs2SbmUfjwVuWtTvrjz6OWf7+ghPizrheLlq\/FAeK500AyE5wLhuZWN3ZWN3dZxq\/Ly1fh6oej6VIdWEH3y4vVfKxuvHj3fEZX8L39sqpXfym9dn7eLpXTQfHOolQ+1vWqzfKiVD7XSQbN0oB+3Kt8caqUD96c6tIKcvgAUPxTQCIqEAhpBkVBAIygSCmgERUJBy4+3oEAZsKCz0SMDDJ0Bl2xENXoLDBHPavQOGCKe1agBDBHPavQfMERkaKTGFcSAc+1GmyZBByWuCi+lxpVWAHIg1qjZbEYnkJmJ6E6za3aiE+jz++TQQK\/sHT1MT7P4KJClEb2oOUx0MTWpccXkCWesWKReNDolvLo+gaap866hBmam+wshDOgxnNDo7EyNKy0ZzE2kwWKG9ZzaqHDurGWnfqbGFYQxpluZoZlM5j2hGFPQdPY9TXZaH0rVkzq9ku5TjClKrPieTzGmKLGYNaIwoDjUR4szGpFNxbobmfYa4XZFbUvWTUiNK+Txx9u\/MpnMB8LrmIJw1jj\/kMVIib1mW7K4fWRUGkfZtrEIITaW3k0PaITuENBrOKRR2xfLq495yTu+POmmWDVqd+Q94JhPZffcbEfmyshcjrTabqjGsW1AzzHc3cja1fbO5jBrlzSNeF4bQlt2QcushB\/BfNxVQA\/gjEbkn6KlyW4NGHjv6dI0sl1L8eQ7fwTukE4BPcBwv6lZt3rRnTWvDbu3DaQRNQlyZHrQmVadmbUaVyzfJ6yTsQ\/oOUbhdyP+naWeCRjTr9btb2rmlWO\/qdlegjzXDDvMD1BjCjjHfA7xiz97zAkIGokZ0V+x3Z6CvwCNAAmARoAEQCNAAp7VCBgyAy7ZaGnk9s30I1IWbuQ0cjuh1F94ViO3E0r9hWc1cjuh1F94ViO3E0r9hTyN+v\/PEGseCUJKXLX\/v9hOGjWlps8ydQZ959F6Dbka9ZtEe8brZq3vRSMjtVNG+qyRJyolj9ZzOKdRL0m0pNpsG85ZsmbbHXKm7Fkn02fpWB5Mfh0cJzXqPonWTiP+bmSfdpGRnD5LD6UezZ7MhO0LRzXqOom2Z424KbCMRsKwfaTPMjXiPFof48ZuJHrH6U0jOys7acQb23u2a6cESh\/hpEbdJ9G26E0juxXspNFA6bNdB\/IRbnxTE\/01Y1\/vRqI\/LRKG7SN9lj9xSx6tjxmF343objyNuFmz1hRYJ9NnmWB273c+xbO\/Yrs9BX8BGgESAI0ACYBGgAQ8qxEwZKQs3GhpBHykGBolk8lQKBTwNKFQKJlMuni7vYqu0bVoNJFIVCoVtzMXnKVSqSQSiWvRqLs33XvoGgWDwWq1qmma28nBzqJpWrVaDQaD7t5076FrFAgETk9P3V7lYXB6ehoIBNy96d7D0Ojk5ORfH3BycgIaSYfRyO2\/mhoGoJETMBr9Y8OrtU9wArXKV1t2PeWz9Rm5dKvMrm1222oGNHICQyNN0\/4W8eRbhBeu7Opni8kEShaEnbulcJGK2VPPF0sL1Hx4rbOrLwSxNE0DjaTDaFTj8\/uV2cTFNbqmcBGnr+wIundL90E4PTeW0ihZ4LfurJ7D9xYFsUAjJ2A0OuCyvXIO37vLb9u8gNMXbqaR3mFvbrb9ZLm5yUYwHjoX1uie6blt8UDqKnPbolmZW39aTPOC6IBGTmBodHx8XOKSW0Z4OcVvy0\/hxPjCVuskdcM4Xlm4g27kSZ+pnDVafgrf+fK5zUD6KnpPXmV+yvRuFH6wwp9tqVQqHR8fg0bSGVwjssDsYj9\/MM4dZdTTHtgP7KgR05q6YWcSaOQEjEZ7XJ7lxvHybX7b+iROhZ+RbuyuQJr2fg6H6fpWtPZYu4GWq3BmZWl9lhu39m8DGjkBo5HKpxCeSUxmqIqnuTGcCj9VVXV9Uj8wHdOsT2Jq+NPcGF66zfQXDaQjmDv8kE6h+Dq\/1bgEB9DICQyNGo1GUcR3SwinQj\/qZ7diCRR7UiwWi8Unn\/LrW0OWbln6PPwmZa0XDCQwEdpBSI259VYsgWayDwUfpdFogEbSYTTatSGfGSMPneur7drV8zh1KU86bVyaIQ+mxa9J9f1F8sAau744pjfpnc\/fFw80rsI+9WYy33fbagY0cgJDo6Ojo20fcHR0BBpJh9HoVx8AGjmBoVG9Xn\/pA+r1OmgkHSNtrVwu12q1LU9Tq9XK5TKkrUlH1ygajc7Pz+\/v79c9zf7+\/vz8fBSSaGVjpPRHIpFgMOh8Wr2bBIPBSCTi4u32KvAHRoAEQCNAAqARIAHQCJAAaARIADQCJAAaARIAjQAJgEaABEAjQAKgESAB0AiQAGgESOB\/lYlM6fEywzwAAAAASUVORK5CYII=\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>On stackoverflow.com, an interessting topic was asked about how to create a notes database programmatically without using a template. The problem is, that it will not contain a Icon document. But in this document are all database properties stored. So &hellip; <a href=\"https:\/\/hasselba.ch\/blog\/?p=1453\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[89,74],"tags":[33,47,7,31,32,3],"class_list":["post-1453","post","type-post","status-publish","format-standard","hentry","category-java","category-xpages","tag-8-5-3","tag-9-0","tag-domino","tag-java","tag-tipp","tag-xpages"],"_links":{"self":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1453","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1453"}],"version-history":[{"count":4,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1453\/revisions"}],"predecessor-version":[{"id":1457,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1453\/revisions\/1457"}],"wp:attachment":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1453"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1453"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1453"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}