cms / blog and snowoman

Post on 19-May-2015

893 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

SnoWOMan is a CMS and blog system built on Project Wonder and WebObjects.

TRANSCRIPT

MONTREAL JUNE 30, JULY 1ST AND 2ND 2012

MONTREAL JUNE 30, JULY 1ST AND 2ND 2012

コンテンツマネージメントシステム、ブログ と ”雪女”

WOWODC 2012 by Ken Ishimoto (K’s Room & A10-Objects)

12年7月5日木曜日

MONTREAL JUNE 30, JULY 1ST AND 2ND 2012

MONTREAL JUNE 30, JULY 1ST AND 2ND 2012

WOWODC 2012 by Ken Ishimoto (K’s Room & A10-Objects)

CMS / BLOG and SnoWOman

12年7月5日木曜日

MONTREAL JUNE 30, JULY 1ST AND 2ND 2012

MONTREAL JUNE 30, JULY 1ST AND 2ND 2012

Ken Ishimoto10 years 4th Dimension Developer, 2 years Real Basic and

since 2008 WebObjects Developer

12年7月5日木曜日

Agenda

• Offline CMS

• CMS System

• SnoWOman

• Demo

• Q&A

12年7月5日木曜日

Offline CMS Deploy System12年7月5日木曜日

Offline CMS

• Buy the App

• Create the Content on your Computer

• Deploy everything via FTP to a Server

• Any Changes? You need your Computer to fix the changes and then you have to deploy it, sometimes you have to upload every Page again.

12年7月5日木曜日

NICE• Easy Solution

• We make the Custom Design.

• The Customer can use it. (Maybe)

12年7月5日木曜日

BUT...

• No way to connect it to a DatabaseCMS but static CMS

• Won’t work with Wonder

• We don’t make Money (only for some Design)

12年7月5日木曜日

Drupal : What’s nice about it

• Many Themes

• Lot of Languages

• Very Popular

• Open Source

• Lot of Plugins

12年7月5日木曜日

Custom Themes

• Create Custom Themes

(3 People worked 4 Months on it)

12年7月5日木曜日

Localize

• There are a lot of already Localized Templates(most are only 40-60% done)

• We had a Plugin that wasn’t written for that and it took(3 Person / 2 Days to Localize only a Menu Entry)

12年7月5日木曜日

Plugins

• Upgrade to New Version

• The User will upgrade because a nice new Feature is available

• But, old Plugin’s won’t work anymore and break

12年7月5日木曜日

Security

12年7月5日木曜日

Security

• BUGS, Security flaws

• The Community fix this Problems and the User has update everyfew Months or sometimes every few weeks

• Most User have only a Site without a Contract for Maintenance(This Site’s are now hackable)

• You can find Security issues easily on there Homepage's (Everybody include Hackers know the security issues also)

12年7月5日木曜日

How can I use it?

• Learn PHP

• Learn MySQL

• Download Drupal and learn it

12年7月5日木曜日

Project Wonder

• Won’t work with Wonder

• If you are not using MySQL you need 2 Databases

• No way to use it with EOF, MVC and KVC (everything we love)

12年7月5日木曜日

But Can I use it with WO?

• write PHP code and make Rest Calls to Wonder

• Maintenance two separate Systems now : PHP and Java-WO(if you are a Power User maybe not a big deal)

12年7月5日木曜日

WordPress : WAY 1

• own Deploy ?

• Than it will like Drupal, you have to careabout everything, write PHP and dive into it.

12年7月5日木曜日

WordPress : WAY 2

• use the Service of Wordpress.com

• The take care about Security now^^ yeah

• But Custom Design cost Money and it is not allowedto write PHP code and add features to it. No Connectionto WO anymore.

12年7月5日木曜日

SnoWOman12年7月5日木曜日

Why a CMS?

• Written with Wonder

• Because we love WOF, EOF, MVC, KVC

• No need to learn a new Language

• Use a Database that you like

• Login to your Application and change the Context

12年7月5日木曜日

Easy Installation

• only add the Frameworks

• It will initialize itself and make also the default Pages

• Already in real use at 6 different Customer Locations

• In use now by 2 Developers in Japan (WOdka Project)

12年7月5日木曜日

6 Frameworks

• WOKeyValueDataStorage (1 Entity)

• WOEmoji

• ERMailManager (5 Entities)

• SKIN_Sandvox

• ERModernJQuery

• SnoWOman (5 Entities)

12年7月5日木曜日

WOKeyValueDataStorage

• one Entity KeyValue Storage

• The Data stored into this Entitywith Key & Value

• The Value Property Data is in .plist Format

• Try to Cache in Memory and refresh every Hour

• Can use with other Frameworks in the Future

12年7月5日木曜日

ERModernJQuery

• Input Field Validation

• Banner

• FlightBoards

• Picture / Video Viewer

• and more ...

12年7月5日木曜日

WOEmoji

• Usage of Emoji

• Yes, Japanese People loves that

• For now our User who writes Content are 100% Mac or iPad Users

• But after it is written Windows User will see the Content

12年7月5日木曜日

The Funniest WO Code ever

12年7月5日木曜日

ERMailManager

• This Framework is handling Newsletter

• Waiting for “Amedeo” Release

12年7月5日木曜日

SKIN_SandvoxIt reads the Original Templates from the

Sandvox App.

Only Buy the App and copy the Plugins to the Framework

66 Templates ready to use

12年7月5日木曜日

12年7月5日木曜日

SnoWOman

• MAIN Framework

• 4 TEMPLATES for now (will come more)

• A lot of WIDGETS

• CMS Request Handler & CMSContext

12年7月5日木曜日

TEMPLATES

• Simple Template (Sandvox)

• Print Template (for Printing)

• D2W Template (for ModernDirect2Web)

• Custom Template (for Custom Skins)

12年7月5日木曜日

CUSTOM Skins

• Easy to make Custom Skins

• Most Customer need a Custom Skin anyway

12年7月5日木曜日

Widgets : Text & Html

• PlainText

• RichText

• Blockquote

• Raw HTML

12年7月5日木曜日

Widgets : Video

• YouTube

• JW Player

• Estro Player

12年7月5日木曜日

Widgets : Photo

• Banner Slideshow

• Slideshow

• Photos

• PrettyPhoto

12年7月5日木曜日

Widget : Newsletter

• Newsletter

• Newsletter Remove

12年7月5日木曜日

Widgets : Twitter & IM

• AIM

• Skype

• RSS (Viewer Support)

• Tweet

• Twitterlist

12年7月5日木曜日

Widget : Apple

• Web App

• Safari Extensions

• Mac App Store

• iTunes

• iBookStore

• App Store

12年7月5日木曜日

Widget : Facebook

• Like

• Subscribe

• Comment

• Recommendations

• Facepile

• Send

12年7月5日木曜日

Widgets

• Amazon

• Delicius

• Badge

• Bookmarks

12年7月5日木曜日

Widgets

• Googlemaps

• Shareaholic

• Flickr

• Linklist

• Flightboard

12年7月5日木曜日

Widgets

• Testimonials

• Tagline Rotation

• Language Switcher

• Button

• Sample

12年7月5日木曜日

Widgets

• Kickstarter

• Worldcommunitygrid

• Contact sheet

• External Page

12年7月5日木曜日

Widgets

• Menu + Submenus

• WOPagename

• Viewer Area for RSS or Help

12年7月5日木曜日

Widgets

• static (Pinpoint of Widgets)

• Raw HTML,

• Plain Text,

• Rich Text,

• Bookmark,

• Button,

• WOPagename

12年7月5日木曜日

Widget : News

• News : Displaying News Page

• NewsList : Displaying Linksto the latest News

12年7月5日木曜日

Widget : Blog

• Blog : Displaying Blog Page

• BlogList : Displaying Linksto the latest Blogs

12年7月5日木曜日

Widget : Survey

• Result :

• Text

• Textarea

• Single Select (with Options)

• Multi Select (with Options)

12年7月5日木曜日

Widget : Products

• Menu for Cafe or Restaurant

• Add Size + Price + Description

• Picture

• Hot ?

• Ice ?

• New Product?

HTML 5 Canvas

12年7月5日木曜日

Programming

• The CMSRequestHandler try to find the plist for the URL

• If he can’t find it a 404 Error comes back

• In the plist the Information of the Page with Skin & Widgets Information are creating the Page

12年7月5日木曜日

Difficulties

• WOHyperlink

• WOImage

The Link will be stored into the Database

If Link is not correct a Runtime Error happens.

12年7月5日木曜日

The way of WOHYPERLINK

<wo:hyperlink href="" actionClass="" directActionName="" pageName="" >XXX</wo:hyperlink>

Is the Link a http:// or https:// to a different Site, Is it a PageName or a DirectAction. Maybe a Link to an different CMS Page.

Makes it really difficult to store this Information into the Database and after refresh to build and bind the Information to every Context or Widgets.

IMAGE

Link to an Image in the Application ? In an different Framework or maybe outside to an external location.It is not easy to make a Call like because an Error occurs.

<wo:image framework="" filename="" src="" />

Every time

<wo:if condition=""> <wo:image framework="" filename="" /></wo:if><wo:else> <wo:image src="" /></wo:else>

Makes it very difficult to create the Components.

12年7月5日木曜日

Static Resources

To create No Error in the CMS the HTML <img> Link and ERXStaticResource is used.

HTML :<webobject name="PHOTO" />

WOD :

PHOTO : WOGenericContainer { elementName = "img"; src = src;}

JAVA :

public String src() { String s = “http://www.xxx.com/image.png”; return ERXStaticResource.urlForResourceNamed(context(), s); }

External Images : http://www.xxx.com/image.png

Internal Images : static://<<FrameworkName>>:<<FilePath>> static://app:images/image.png

12年7月5日木曜日

Link Resources

To create No Error in the CMS the HTML <a> Link and ERXHyperlinkResource is used.

HTML : <webobject name="LINK"> xxx </webobject>

WOD : LINK : WOGenericContainer { elementName = "a"; href = href; }

JAVA :

public String href() { String s = “http://www.xxx.com”; return ERXHyperlinkResource.urlForHyperlinkResource(context(), s); }

External Link : http://www.xxx.com or https://www.xxx.com

Internal Link : da://<<actionClass>>:<<directActionName>> da://Main cms://default

12年7月5日木曜日

Real-world Usage

• http://www.chanoma.at : Deployed

• http://www.nippon-ya.at (July 2012)

• http://www.ksroom.com (Fall 2012)

• http://www.sound-of-sirens.net : Deployed

• http://www.a10-objects.jp (Fall 2012)

• YesGrp D2W - internal usage : Deployed

• http:// ??? No Domain decide yet (Fall 2012)

JAPAN

AUSTRIA

USA

12年7月5日木曜日

MONTREAL JUNE 30, JULY 1ST AND 2ND 2012

MONTREAL JUNE 30, JULY 1ST AND 2ND 2012

Demo

12年7月5日木曜日

MONTREAL JUNE 30, JULY 1ST AND 2ND 2012

MONTREAL JUNE 30, JULY 1ST AND 2ND 2012

Fall 2012ERJQueryModernERModernD2WExtensionsERJQueryMobileForD2W

12年7月5日木曜日

Q&A

MONTREAL JUNE 30, JULY 1ST AND 2ND 2012

MONTREAL JUNE 30, JULY 1ST AND 2ND 2012

12年7月5日木曜日

top related