SlideShare uma empresa Scribd logo
1 de 59
Baixar para ler offline
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




             CMS / BLOG and SnoWOman
             WOWODC 2012 by Ken Ishimoto (K’s Room & A10-Objects)




12年7月5日木曜日
MONTREAL JUNE 30, JULY 1ST AND 2ND 2012




             Ken Ishimoto
             10 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 System
12年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 Database
                 CMS 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 every
                 few 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 care
                 about 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 allowed
                 to write PHP code and add features to it. No Connection
                 to WO anymore.



12年7月5日木曜日
SnoWOman
12年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 Entity
                 with 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_Sandvox
             It 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 Links
                 to the latest News




12年7月5日木曜日
Widget : Blog


             •   Blog : Displaying Blog Page

             •   BlogList : Displaying Links
                 to the latest Blogs




12年7月5日木曜日
Widget : Survey

             •   Result :

                 •   Text

                 •   Textarea

                 •   Single Select (with Options)

                 •   Multi Select (with Options)



12年7月5日木曜日
Widget : Products
                                                  HTML 5 Canvas
             •   Menu for Cafe or Restaurant

             •   Add Size + Price + Description

             •   Picture

             •   Hot ?

             •   Ice ?

             •   New Product?



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 WO
      HYPERLINK

  <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
                                                                JAPAN
             •   http://www.chanoma.at : Deployed

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

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

             •   http://www.sound-of-sirens.net : Deployed         USA
             •   http://www.a10-objects.jp (Fall 2012)

             •   YesGrp D2W - internal usage : Deployed

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


12年7月5日木曜日
MONTREAL JUNE 30, JULY 1ST AND 2ND 2012




             Demo


12年7月5日木曜日
MONTREAL JUNE 30, JULY 1ST AND 2ND 2012




             Fall 2012
             ERJQueryModern
             ERModernD2WExtensions
             ERJQueryMobileForD2W


12年7月5日木曜日
MONTREAL JUNE 30, JULY 1ST AND 2ND 2012




             Q&A


12年7月5日木曜日

Mais conteúdo relacionado

Semelhante a CMS / BLOG and SnoWOman

Google IO 2012 つまみ食い(1) ADT r20 の新機能
Google IO 2012 つまみ食い(1) ADT r20 の新機能Google IO 2012 つまみ食い(1) ADT r20 の新機能
Google IO 2012 つまみ食い(1) ADT r20 の新機能
Takuya Fujimura
 
WEBアプリケーションビルド・ テストツール YEOMAN
WEBアプリケーションビルド・ テストツール YEOMAN WEBアプリケーションビルド・ テストツール YEOMAN
WEBアプリケーションビルド・ テストツール YEOMAN
kamiyam .
 
レガシーコード改善はじめました 横浜道場
レガシーコード改善はじめました 横浜道場レガシーコード改善はじめました 横浜道場
レガシーコード改善はじめました 横浜道場
Hiroyuki Ohnaka
 
アート・オブ・アジャイル・デベロップメント読書会#1
アート・オブ・アジャイル・デベロップメント読書会#1アート・オブ・アジャイル・デベロップメント読書会#1
アート・オブ・アジャイル・デベロップメント読書会#1
Sosuke Kimura
 
【12-A-2】 ケーススタディ:不景気と戦うシステムインテグレート
【12-A-2】 ケーススタディ:不景気と戦うシステムインテグレート【12-A-2】 ケーススタディ:不景気と戦うシステムインテグレート
【12-A-2】 ケーススタディ:不景気と戦うシステムインテグレート
devsumi2009
 
Movable type-seminar-20120411-ideamans
Movable type-seminar-20120411-ideamansMovable type-seminar-20120411-ideamans
Movable type-seminar-20120411-ideamans
Kunihiko Miyanaga
 
CodeIgniterでXMLを処理してみる
CodeIgniterでXMLを処理してみるCodeIgniterでXMLを処理してみる
CodeIgniterでXMLを処理してみる
智之 大野
 
Netラボ2012年7月勉強会
Netラボ2012年7月勉強会Netラボ2012年7月勉強会
Netラボ2012年7月勉強会
david9142
 
Chromium androidビルド
Chromium androidビルドChromium androidビルド
Chromium androidビルド
Hiroshi Sakate
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
Daisuke Sugai
 

Semelhante a CMS / BLOG and SnoWOman (20)

PhoneGapで作るハイブリッドアプリケーション
PhoneGapで作るハイブリッドアプリケーションPhoneGapで作るハイブリッドアプリケーション
PhoneGapで作るハイブリッドアプリケーション
 
CasualなMongoDBのサービス運用Tips
CasualなMongoDBのサービス運用TipsCasualなMongoDBのサービス運用Tips
CasualなMongoDBのサービス運用Tips
 
Aiming study#6pdf
Aiming study#6pdfAiming study#6pdf
Aiming study#6pdf
 
JUC2012
JUC2012JUC2012
JUC2012
 
Google IO 2012 つまみ食い(1) ADT r20 の新機能
Google IO 2012 つまみ食い(1) ADT r20 の新機能Google IO 2012 つまみ食い(1) ADT r20 の新機能
Google IO 2012 つまみ食い(1) ADT r20 の新機能
 
WEBアプリケーションビルド・ テストツール YEOMAN
WEBアプリケーションビルド・ テストツール YEOMAN WEBアプリケーションビルド・ テストツール YEOMAN
WEBアプリケーションビルド・ テストツール YEOMAN
 
レガシーコード改善はじめました 横浜道場
レガシーコード改善はじめました 横浜道場レガシーコード改善はじめました 横浜道場
レガシーコード改善はじめました 横浜道場
 
アート・オブ・アジャイル・デベロップメント読書会#1
アート・オブ・アジャイル・デベロップメント読書会#1アート・オブ・アジャイル・デベロップメント読書会#1
アート・オブ・アジャイル・デベロップメント読書会#1
 
JavaEE6 First Application #glassfishjp
JavaEE6 First Application #glassfishjpJavaEE6 First Application #glassfishjp
JavaEE6 First Application #glassfishjp
 
【12-A-2】 ケーススタディ:不景気と戦うシステムインテグレート
【12-A-2】 ケーススタディ:不景気と戦うシステムインテグレート【12-A-2】 ケーススタディ:不景気と戦うシステムインテグレート
【12-A-2】 ケーススタディ:不景気と戦うシステムインテグレート
 
Movable type-seminar-20120411-ideamans
Movable type-seminar-20120411-ideamansMovable type-seminar-20120411-ideamans
Movable type-seminar-20120411-ideamans
 
CodeIgniterでXMLを処理してみる
CodeIgniterでXMLを処理してみるCodeIgniterでXMLを処理してみる
CodeIgniterでXMLを処理してみる
 
Application Server 紹介 #glassfishjp
Application Server 紹介 #glassfishjpApplication Server 紹介 #glassfishjp
Application Server 紹介 #glassfishjp
 
Seminar report (Building a Linux server and AWS SDK for Ruby)
Seminar report (Building a Linux server and AWS SDK for Ruby)Seminar report (Building a Linux server and AWS SDK for Ruby)
Seminar report (Building a Linux server and AWS SDK for Ruby)
 
ExGame さくっと入門
ExGame さくっと入門ExGame さくっと入門
ExGame さくっと入門
 
Netラボ2012年7月勉強会
Netラボ2012年7月勉強会Netラボ2012年7月勉強会
Netラボ2012年7月勉強会
 
信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!
信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!
信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!
 
Chromium androidビルド
Chromium androidビルドChromium androidビルド
Chromium androidビルド
 
次の世代のインタラクティブレンダリング5つの挑戦と10の滅ぶべき技術
次の世代のインタラクティブレンダリング5つの挑戦と10の滅ぶべき技術 次の世代のインタラクティブレンダリング5つの挑戦と10の滅ぶべき技術
次の世代のインタラクティブレンダリング5つの挑戦と10の滅ぶべき技術
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
 

Mais de WO Community (20)

KAAccessControl
KAAccessControlKAAccessControl
KAAccessControl
 
In memory OLAP engine
In memory OLAP engineIn memory OLAP engine
In memory OLAP engine
 
Using Nagios to monitor your WO systems
Using Nagios to monitor your WO systemsUsing Nagios to monitor your WO systems
Using Nagios to monitor your WO systems
 
Build and deployment
Build and deploymentBuild and deployment
Build and deployment
 
High availability
High availabilityHigh availability
High availability
 
Reenabling SOAP using ERJaxWS
Reenabling SOAP using ERJaxWSReenabling SOAP using ERJaxWS
Reenabling SOAP using ERJaxWS
 
Chaining the Beast - Testing Wonder Applications in the Real World
Chaining the Beast - Testing Wonder Applications in the Real WorldChaining the Beast - Testing Wonder Applications in the Real World
Chaining the Beast - Testing Wonder Applications in the Real World
 
D2W Stateful Controllers
D2W Stateful ControllersD2W Stateful Controllers
D2W Stateful Controllers
 
Deploying WO on Windows
Deploying WO on WindowsDeploying WO on Windows
Deploying WO on Windows
 
Unit Testing with WOUnit
Unit Testing with WOUnitUnit Testing with WOUnit
Unit Testing with WOUnit
 
Life outside WO
Life outside WOLife outside WO
Life outside WO
 
Advanced Apache Cayenne
Advanced Apache CayenneAdvanced Apache Cayenne
Advanced Apache Cayenne
 
Migrating existing Projects to Wonder
Migrating existing Projects to WonderMigrating existing Projects to Wonder
Migrating existing Projects to Wonder
 
iOS for ERREST
iOS for ERRESTiOS for ERREST
iOS for ERREST
 
"Framework Principal" pattern
"Framework Principal" pattern"Framework Principal" pattern
"Framework Principal" pattern
 
Filtering data with D2W
Filtering data with D2W Filtering data with D2W
Filtering data with D2W
 
WOver
WOverWOver
WOver
 
Localizing your apps for multibyte languages
Localizing your apps for multibyte languagesLocalizing your apps for multibyte languages
Localizing your apps for multibyte languages
 
WOdka
WOdkaWOdka
WOdka
 
ERGroupware
ERGroupwareERGroupware
ERGroupware
 

Último

Último (11)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

CMS / BLOG and SnoWOman

  • 1. MONTREAL JUNE 30, JULY 1ST AND 2ND 2012 コンテンツマネージメントシステム、 ブログ と ”雪女” WOWODC 2012 by Ken Ishimoto (K’s Room & A10-Objects) 12年7月5日木曜日
  • 2. MONTREAL JUNE 30, JULY 1ST AND 2ND 2012 CMS / BLOG and SnoWOman WOWODC 2012 by Ken Ishimoto (K’s Room & A10-Objects) 12年7月5日木曜日
  • 3. MONTREAL JUNE 30, JULY 1ST AND 2ND 2012 Ken Ishimoto 10 years 4th Dimension Developer, 2 years Real Basic and since 2008 WebObjects Developer 12年7月5日木曜日
  • 4. Agenda • Offline CMS • CMS System • SnoWOman • Demo • Q&A 12年7月5日木曜日
  • 5. Offline CMS Deploy System 12年7月5日木曜日
  • 6. 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日木曜日
  • 7. NICE • Easy Solution • We make the Custom Design. • The Customer can use it. (Maybe) 12年7月5日木曜日
  • 8. BUT... • No way to connect it to a Database CMS but static CMS • Won’t work with Wonder • We don’t make Money (only for some Design) 12年7月5日木曜日
  • 9. Drupal : What’s nice about it • Many Themes • Lot of Languages • Very Popular • Open Source • Lot of Plugins 12年7月5日木曜日
  • 10. Custom Themes • Create Custom Themes (3 People worked 4 Months on it) 12年7月5日木曜日
  • 11. 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日木曜日
  • 12. 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日木曜日
  • 14. Security • BUGS, Security flaws • The Community fix this Problems and the User has update every few 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日木曜日
  • 15. How can I use it? • Learn PHP • Learn MySQL • Download Drupal and learn it 12年7月5日木曜日
  • 16. 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日木曜日
  • 17. 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日木曜日
  • 18. WordPress : WAY 1 • own Deploy ? • Than it will like Drupal, you have to care about everything, write PHP and dive into it. 12年7月5日木曜日
  • 19. 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 allowed to write PHP code and add features to it. No Connection to WO anymore. 12年7月5日木曜日
  • 21. 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日木曜日
  • 22. 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日木曜日
  • 23. 6 Frameworks • WOKeyValueDataStorage (1 Entity) • WOEmoji • ERMailManager (5 Entities) • SKIN_Sandvox • ERModernJQuery • SnoWOman (5 Entities) 12年7月5日木曜日
  • 24. WOKeyValueDataStorage • one Entity KeyValue Storage • The Data stored into this Entity with 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日木曜日
  • 25. ERModernJQuery • Input Field Validation • Banner • FlightBoards • Picture / Video Viewer • and more ... 12年7月5日木曜日
  • 26. 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日木曜日
  • 27. The Funniest WO Code ever 12年7月5日木曜日
  • 28. ERMailManager • This Framework is handling Newsletter • Waiting for “Amedeo” Release 12年7月5日木曜日
  • 29. SKIN_Sandvox It 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日木曜日
  • 31. SnoWOman • MAIN Framework • 4 TEMPLATES for now (will come more) • A lot of WIDGETS • CMS Request Handler & CMSContext 12年7月5日木曜日
  • 32. TEMPLATES • Simple Template (Sandvox) • Print Template (for Printing) • D2W Template (for ModernDirect2Web) • Custom Template (for Custom Skins) 12年7月5日木曜日
  • 33. CUSTOM Skins • Easy to make Custom Skins • Most Customer need a Custom Skin anyway 12年7月5日木曜日
  • 34. Widgets : Text & Html • PlainText • RichText • Blockquote • Raw HTML 12年7月5日木曜日
  • 35. Widgets : Video • YouTube • JW Player • Estro Player 12年7月5日木曜日
  • 36. Widgets : Photo • Banner Slideshow • Slideshow • Photos • PrettyPhoto 12年7月5日木曜日
  • 37. Widget : Newsletter • Newsletter • Newsletter Remove 12年7月5日木曜日
  • 38. Widgets : Twitter & IM • AIM • Skype • RSS (Viewer Support) • Tweet • Twitterlist 12年7月5日木曜日
  • 39. Widget : Apple • Web App • Safari Extensions • Mac App Store • iTunes • iBookStore • App Store 12年7月5日木曜日
  • 40. Widget : Facebook • Like • Subscribe • Comment • Recommendations • Facepile • Send 12年7月5日木曜日
  • 41. Widgets • Amazon • Delicius • Badge • Bookmarks 12年7月5日木曜日
  • 42. Widgets • Googlemaps • Shareaholic • Flickr • Linklist • Flightboard 12年7月5日木曜日
  • 43. Widgets • Testimonials • Tagline Rotation • Language Switcher • Button • Sample 12年7月5日木曜日
  • 44. Widgets • Kickstarter • Worldcommunitygrid • Contact sheet • External Page 12年7月5日木曜日
  • 45. Widgets • Menu + Submenus • WOPagename • Viewer Area for RSS or Help 12年7月5日木曜日
  • 46. Widgets • static (Pinpoint of Widgets) • Raw HTML, • Plain Text, • Rich Text, • Bookmark, • Button, • WOPagename 12年7月5日木曜日
  • 47. Widget : News • News : Displaying News Page • NewsList : Displaying Links to the latest News 12年7月5日木曜日
  • 48. Widget : Blog • Blog : Displaying Blog Page • BlogList : Displaying Links to the latest Blogs 12年7月5日木曜日
  • 49. Widget : Survey • Result : • Text • Textarea • Single Select (with Options) • Multi Select (with Options) 12年7月5日木曜日
  • 50. Widget : Products HTML 5 Canvas • Menu for Cafe or Restaurant • Add Size + Price + Description • Picture • Hot ? • Ice ? • New Product? 12年7月5日木曜日
  • 51. 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日木曜日
  • 52. Difficulties • WOHyperlink • WOImage The Link will be stored into the Database If Link is not correct a Runtime Error happens. 12年7月5日木曜日
  • 53. The way of WO HYPERLINK <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日木曜日
  • 54. 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日木曜日
  • 55. 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日木曜日
  • 56. Real-world Usage JAPAN • http://www.chanoma.at : Deployed • http://www.nippon-ya.at (July 2012) AUSTRIA • http://www.ksroom.com (Fall 2012) • http://www.sound-of-sirens.net : Deployed USA • http://www.a10-objects.jp (Fall 2012) • YesGrp D2W - internal usage : Deployed • http:// ??? No Domain decide yet (Fall 2012) 12年7月5日木曜日
  • 57. MONTREAL JUNE 30, JULY 1ST AND 2ND 2012 Demo 12年7月5日木曜日
  • 58. MONTREAL JUNE 30, JULY 1ST AND 2ND 2012 Fall 2012 ERJQueryModern ERModernD2WExtensions ERJQueryMobileForD2W 12年7月5日木曜日
  • 59. MONTREAL JUNE 30, JULY 1ST AND 2ND 2012 Q&A 12年7月5日木曜日