Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
java -versionjava version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)# stable no-jre
wget http://www.ortussolutions.com/parent/download/contentbox?type=express
# stable with jre for windows
wget http://www.ortussolutions.com/parent/download/contentbox?type=express-win
# stable with jre for mac
wget http://www.ortussolutions.com/parent/download/contentbox?type=express-mac
# stable with jre for linux
wget http://www.ortussolutions.com/parent/download/contentbox?type=express-linux
# bleeding edge no-jre
wget http://www.ortussolutions.com/parent/download/contentbox?type=express&version=be
# bleeding edge with jre for windows
wget http://www.ortussolutions.com/parent/download/contentbox?type=express-win&version=be
# bleeding edge with jre for mac
wget http://www.ortussolutions.com/parent/download/contentbox?type=express-mac&version=be
# bleeding edge with jre for linux
wget http://www.ortussolutions.com/parent/download/contentbox?type=express-linux&version=beunzip contentbox-express-{version}.zipchmod -R 777 bin# server password
http://localhost:8085/lucee/admin/server.cfm
# web password
http://localhost:8085/lucee/admin/web.cfm<Connector port="8085" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

____ _ _ ____
/ ___|___ _ __ | |_ ___ _ __ | |_| __ ) _____ __
| | / _ \| '_ \| __/ _ \ '_ \| __| _ \ / _ \ \/ /
| |__| (_) | | | | || __/ | | | |_| |_) | (_) > <
\____\___/|_| |_|\__\___|_| |_|\__|____/ \___/_/\_\<major>.<minor>.<patch># stable
wget http://www.ortussolutions.com/parent/download/contentbox?type=war
# bleeding edge
wget http://www.ortussolutions.com/parent/download/contentbox?type=war&version=be



function index(event,rc,prc){
cbhelper.setMetaTitle( 'My cool module' );
cbhelper.setMetaKeywords( 'ContentBox, Ortus, Themes, Modules' );
cbhelper.setMetaDescription( 'My new module now has Meta Data to be used my the Theme.' );
cbhelper.prepareUIRequest( "pages" );
event.setView( "home/index" );
}contentbox = {
// Runtime Settings Override by site slug
settings = {
// Default site
default = {
"cb_search_adapter" = "my.search.adapter",
"cb_media_directoryRoot" = "/docker/mount"
}
}
}contentbox_{site}_{setting}=value-Dcontentbox_default_cb_media_directoryRoot=./build/docker/contentbox/content/{appcontext}/lucee/admin/server.cfm// Artifacts Server
http://integration.staging.ortussolutions.com/artifacts/ortussolutions/contentbox/'Welcome to the Dark Side - The Admin'Blog posts should be scheduled for daily at 7am PST to ensure better readability.
All Blog posts should be included with an image.
Images should be 800x200.
Ensure all posts have their own SEO content. ____ _ _ ____
/ ___|___ _ __ | |_ ___ _ __ | |_| __ ) _____ __
| | / _ \| '_ \| __/ _ \ '_ \| __| _ \ / _ \ \/ /
| |__| (_) | | | | || __/ | | | |_| |_) | (_) > <
\____\___/|_| |_|\__\___|_| |_|\__|____/ \___/_/\_\<major>.<minor>.<patch>contentbox, use cbox or site or whatever you like if you will be deploying under a subfolder.# stable
wget https://www.ortussolutions.com/parent/download/contentbox?type=installer
# bleeding edge
wget https://www.ortussolutions.com/parent/download/contentbox?type=installer&version=beunzip contentbox_{version}.zipwget https://www.ortussolutions.com/parent/download/contentboxwget https://www.ortussolutions.com/parent/download/contentbox?type=sitethis.settings = [
{ name="Title", defaultValue="My Awesome Title", required="true", type="text", label="Title:" },
{ name="Colors", defaultValue="blue", required="false", type="select", label="Color:", options="red,blue,orange,gray" }
];






install contentbox production=true// LOCATION MAPPINGS
this.mappings[ "/contentbox" ] = COLDBOX_APP_ROOT_PATH & "modules/contentbox";
// THE LOCATION OF THE ORM MODULE
this.mappings[ "/cborm" ] = this.mappings[ "/contentbox" ] & "/modules/contentbox-deps/modules/cborm";// ORM SETTINGS
this.ormEnabled = true;
this.ormSettings = {
// ENTITY LOCATIONS, ADD MORE LOCATIONS AS YOU SEE FIT
cfclocation=[ "models", "modules", "modules_app" ],
// DO NOT REMOVE THE FOLLOWING LINE OR AUTO-UPDATES MIGHT FAIL.
dbcreate = "update",
// FILL OUT: IF YOU WANT CHANGE SECONDARY CACHE, PLEASE UPDATE HERE
secondarycacheenabled = false,
cacheprovider = "ehCache",
// ORM SESSION MANAGEMENT SETTINGS, DO NOT CHANGE
logSQL = false,
flushAtRequestEnd = false,
autoManageSession = false,
// ORM EVENTS MUST BE TURNED ON FOR CONTENTBOX TO WORK
eventHandling = true,
eventHandler = "cborm.models.EventHandler",
// THIS IS ADDED SO OTHER CFML ENGINES CAN WORK WITH CONTENTBOX
skipCFCWithError = true
};// ORM Module Configuration
orm = {
// Enable Injection
injection = {
enabled = true
}
};// YOUR SES URL ENTRY POINT FOR CONTENTBOX, IF EMPTY IT WILL TAKE OVER THE ENTIRE APPLICATION
// IF YOU WANT TO SECTION OFF CONTENTBOX THEN FILL OUT AN SES ENTRY POINT LIKE /site OR /content
// BY DEFAULT IT TAKES OVER THE ENTIRE APPLICATION
this.entryPoint = "";/**
* loadHelpFile - helper function for loading html help into a variable for modal
* @helpFileName - the name of the file to read and return
* @helpFilePath - the relative directory for the help files. Defaulting to ./includes/help/ inside the theme.
* @return the contents of the file or empty string if the file does not exist
*/
function loadHelpFile( required string helpFileName, string helpFilePath='./includes/help/' ){
try {
return fileRead( arguments.helpFilePath & arguments.helpFileName );
} catch( any e ){
return '';
}
}function selectMediaManagerFolder(){
var event = getRequestContext();
var cbSettings = event.getValue(name="cbSettings",private=true);
var defaultDir = expandPath( cbSettings.cb_media_directoryRoot );
var allDirectories = directoryList( path=defaultDir, recurse=true, listInfo="query" );
var result = [];
for( var directory in allDirectories ){
if ( directory.type is 'dir' ){
var theString = replaceNoCase( directory.directory, defaultDir, "", "all" ) & '/' & directory.name;
theString = replaceNoCase( theString, "\", "/", "all");
theString = replaceNoCase( theString, "//", "/", "all");
result = result.append( theString );
}
}
return result;
}array function getBootstrapStyles(){
return [
"default",
"primary",
"success",
"info",
"warning",
"danger"
];
}/**
* Build the swatches options
*/
array function getBootSwatches(){
return listToArray( "cerulean,cosmo,cyborg,darkly,flatly,green,journal,lumen,paper,readable,sandstone,simplex,slate,spacelab,superhero,united,yeti" );
}contentbox-installer - Same as above but with our DSN Creator and Installer Module.mkdir mysite --cd
install contentbox-installer
server starthttp://localhost:{port}/lucee/admin/web.cfm# default Lucee 4.5
server start
# lucee 5
server start cfengine=lucee@5
# Adobe CF11
server start cfengine=adobe@11
# Adobe 2016
server start cfengine=adobe@2016install contentbox-installer-modulefunction cbadmin_ckeditorContentsCss( event, interceptData ){
// Add css
interceptData.contentsCss.append( "/path/theme.css" );
}/**
* Link to the __changeLang route, this is where the fwLocale is changed
* @lang The iso language code
*/
function linkLanguageChange( string lang = "en_US" ) {
return getRequestContext().buildLink( '__changeLang/' & arguments.lang );
}http://localhost/home.json
http://localhost/blog.json
http://localhost/blog/websockets.xml{
"HTMLDescription": "",
"HTMLKeywords": "",
"allowComments": false,
"categories": [
{
"category": "coldbox",
"slug": "coldbox"
}
],
"children": [],
"comments": [],
"content": "<p>Support services</p>\r\n\r\n<p><p>Sorry, no related content was found.</p></p>\r\n\r\n<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut odio. Nam sed est. Nam a risus et est iaculis adipiscing. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer ut justo. In tincidunt viverra nisl. Donec dictum malesuada magna. Curabitur id nibh auctor tellus adipiscing pharetra. Fusce vel justo non orci semper feugiat. Cras eu leo at purus ultrices tristique.</p>",
"contentID": 147,
"contentType": "Page",
"createdDate": "20 Jul 2013 03:38 PM",
"customfields": [],
"excerpt": "",
"expireDate": "N/A",
"featuredImageURL": "",
"isDeleted": false,
"modifiedDate": "May 3, 2016 4:23:25 PM CDT",
"publishedDate": "20 Jul 2013 03:38 PM",
"relatedcontent": [],
"showInMenu": true,
"slug": "support",
"title": "support"
}<?xml version="1.0" encoding="utf-8"?>
<page>
<content><p>Support services</p>
<p><p>Sorry, no related content was found.</p></p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut odio. Nam sed est. Nam a risus et est iaculis adipiscing. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer ut justo. In tincidunt viverra nisl. Donec dictum malesuada magna. Curabitur id nibh auctor tellus adipiscing pharetra. Fusce vel justo non orci semper feugiat. Cras eu leo at purus ultrices tristique.</p></content>
<children>
<array/>
</children>
<excerpt/>
<isdeleted>false</isdeleted>
<relatedcontent>
<array/>
</relatedcontent>
<htmldescription/>
<slug>support</slug>
<createddate>20 Jul 2013 03:38 PM</createddate>
<contentid>147</contentid>
<publisheddate>20 Jul 2013 03:38 PM</publisheddate>
<showinmenu>true</showinmenu>
<categories>
<array>
<item>
<struct>
<slug>coldbox</slug>
<category>coldbox</category>
</struct>
</item>
</array>
</categories>
<contenttype>Page</contenttype>
<expiredate>N/A</expiredate>
<modifieddate>May 3, 2016 4:23:25 PM CDT</modifieddate>
<customfields>
<array/>
</customfields>
<comments>
<array/>
</comments>
<title>support</title>
<featuredimageurl/>
<allowcomments>false</allowcomments>
<htmlkeywords/>
</page>[{"category":"Homepage Rows", "categoryID":2, "slug":"homepage-rows"},{"category":"Slider","categoryID":1,"slug":"slider"}]










#cb#





























this.ormsettings = {
dialect = "MicrosoftSQLServer
};this.ormsettings = {
dialect = "MicrosoftSQLServer
};this.ormsettings = {
dialect = "MySQLWithInnoDB
};function configure(){
// Configuration
setValidExtensions( 'xml,json,jsont,rss,html,htm,cfm,print,pdf,doc,txt' );
// Process Full Rewrites then true, else false and an `index.cfm` will always be included in URLs
setFullRewrites( true );
// Mappings
route( ":handler/:action" ).end();
}// Base URL
if( len(getSetting('AppMapping') ) lte 1){
// Remove the index.cfm
setBaseURL("http://#cgi.HTTP_HOST##getContextRoot()#/index.cfm");
} else {
// Remove the index.cfm
setBaseURL("http://#cgi.HTTP_HOST##getContextRoot()#/#getSetting('AppMapping')#/index.cfm");
}{Root}/Application.cfc
{Root}/config/ColdBox.cfc
{Root}/coldbox/system/aop/tmp# Engine Operation (REQUIRED)
{Root}/coldbox/system/aop/tmp
# Media Manager
{Root}/modules/contentbox/content
# Auto-udpates
{Root}/modules/contentbox/updates
# If you want ForgeBox enabled downloads
{Root}/modules/contentbox/modules_user
{Root}/modules/contentbox/themes
{Root}/modules/contentbox/widgets
























































docker pull ortussolutions/contentbox &&
docker run -p 8080:8080 \
-e express=true \
-e install=true \
ortussolutions/contentboxdocker run -p 8080:8080 \
-e express=true \
-e install=true \
-v `pwd`/contentbox-db:/data/contentbox/db \
-v `pwd`/contentbox-media:/app/includes/shared/media \
ortussolutions/contentboxdocker run -p 8080:8080 \
-e express=true \
-v `pwd`/contentbox-db:/data/contentbox/db \
-v `pwd`/contentbox-media:/app/includes/shared/media \
ortussolutions/contentboxdocker run -p 8080:8080 \
-e 'installer=true' \
-e 'cfconfig_adminPassword=myS3cur3P455' \
-e "DB_CONNECTION_STRING=jdbc:mysql://mysqlhost:3306/contentbox_docker?useUnicode=true&characterEncoding=UTF-8&useLegacyDatetimeCode=true" \
-e 'DB_CLASS=org.gjt.mm.mysql.Driver' \
-e 'DB_USER=contentbox_user' \
-e 'DB_PASSWORD=myS3cur3P455' \
-v `pwd`/contentbox-media:/app/includes/shared/media \
ortussolutions/contentboxdocker run -p 8080:8080 \
-e 'CFENGINE=adobe@11' \
-e 'installer=true' \
-e 'cfconfig_adminPassword=myS3cur3P455' \
-e 'DB_DRIVER=MSSQLServer' \
-e 'DB_HOST=sqlserver_host' \
-e 'DB_PORT=1433' \
-e 'DB_NAME=contentbox_docker' \
-e 'DB_USER=sa' \
-e 'DB_PASSWORD=myS3cur3P455' \
-v `pwd`/contentbox-media:/app/includes/shared/media \
ortussolutions/contentboxdocker run -p 8080:8080 \
-e 'installer=true' \
-e 'cfconfig_adminPassword=myS3cur3P455' \
-e "DB_CONNECTION_STRING=jdbc:mysql://mysqlhost:3306/contentbox_docker?useUnicode=true&characterEncoding=UTF-8&useLegacyDatetimeCode=true" \
-e 'DB_CLASS=org.gjt.mm.mysql.Driver' \
-e 'DB_USER=contentbox_user' \
-e 'DB_PASSWORD=myS3cur3P455' \
-v `pwd`/contentbox-media:/app/includes/shared/media \
ortussolutions/contentbox
-e 'contentbox_cb_site_theme=myCustomTheme' \
-v `pwd`/myCustomTheme:/app/modules/contentbox/themes/myCustomTheme \
ortussolutions/contentbox
-v `pwd`/myAwesomeModule:/app/modules/myAwesomeModule \
ortussolutions/contentbox




























contentbox = {
// Runtime Settings Override by site slug
settings = {
// Default site
default = {
"cb_search_adapter" = "my.search.adapter",
"cb_media_directoryRoot" = "/docker/mount"
}
}
}contentbox_{site}_{setting}=value-Dcontentbox_default_cb_media_directoryRoot=./build/docker/contentbox/content// Retrieve a key from the default resource bundle
${i18n:resourcekey}
// Retrieve a key from a named bundle
${i18n:resourceKey@bundleName}// ContentBox Sessions
sessions = {
provider = "coldbox.system.cache.providers.CacheBoxColdBoxProvider",
properties = {
objectDefaultTimeout = 60,
objectDefaultLastAccessTimeout = 0,
useLastAccessTimeouts = false,
freeMemoryPercentageThreshold = 0,
reapFrequency = 2,
evictionPolicy = "LRU",
evictCount = 5,
maxObjects = 1000, // Can support up to 1000 user sessions concurrently. Modify if needed. 0 = unlimited
objectStore = "ConcurrentStore"
}
} // ContentBox relies on the Cache Storage for tracking sessions, which delegates to a Cache provider
storages = {
// Cache Storage Settings
cacheStorage = {
cachename = "sessions",
timeout = 60 // The default timeout of the session bucket, defaults to 60
}
};































