SlideShare ist ein Scribd-Unternehmen logo
1 von 61
MOVABLE TYPE 5.2
  OVERVIEW
    (è‹„ćčČă‚šăƒłă‚žăƒ‹ă‚ąç›źç·š)



                    2012.8.4 (Sat)
                  YUJI TAKAYAMA
                    Six Apart, Ltd.
it
       tra
    or
lf p
Se




                 YUJI Takayama
                             @yuji
          Software Engineer, Movable Type, Six Apart
NEW FEATURE

‣ Rich Text   Editor
‣ Site   Path Restriction
‣ SMTP AUTH

‣ tools/upgrade

‣ Cloud
NEW FEATURE

‣ Rich Text   Editor
‣ Site   Path Restriction
‣ SMTP AUTH

‣ tools/upgrade

‣ Cloud
TinyMCE
      Next session...
づăȘみに・・・




Lekumo ビゾネă‚čブログでも
TinyMCEăŒćˆ©ç”šćŻèƒœă«ăȘă‚ŠăŸă™

    Coming soon...
NEW FEATURE

‣ Rich Text   Editor
‣ Site   Path Restriction
‣ SMTP AUTH

‣ tools/upgrade

‣ Cloud
NEW FEATURE

‣ Rich Text   Editor
‣ Site   Path Restriction
‣ SMTP AUTH

‣ tools/upgrade

‣ Cloud
System Administrator
     can restricts
   publishing path
NEW CONFIGURATION DIRECTIVE



  BaseSitePath /path/to/site_root
  HideBaseSitePath [0 / 1]
NEW FEATURE

‣ Rich Text   Editor
‣ Site   Path Restriction
‣ SMTP AUTH

‣ tools/upgrade

‣ Cloud
NEW FEATURE

‣ Rich Text   Editor
‣ Site   Path Restriction
‣ SMTP AUTH

‣ tools/upgrade

‣ Cloud
‣   Mail::Sendmail → Net::SMTP Family

      ‣   Net::SMTP

      ‣   Net::SMTP::SSL

      ‣   Net::SMTP::TLS

‣   SSL/TLS | STARTTLS support

‣   Submission Port support

‣   Debug support

‣   Function interface is same as 5.1x
NEW CONFIGURATION DIRECTIVE


  SMTPAuth [0 / 1 / ssl / starttls]
  SMTPUser login username
  SMTPPassword login password
  SMTPPort port number
NEW FEATURE

‣ Rich Text   Editor
‣ Site   Path Restriction
‣ SMTP AUTH

‣ tools/upgrade

‣ Cloud
NEW FEATURE

‣ Rich Text   Editor
‣ Site   Path Restriction
‣ SMTP AUTH

‣ tools/upgrade

‣ Cloud
% perl tools/upgrade
Installs or upgrades a database to the current MT schema.

   --quiet	

	

 Stop progress reports.
   --dryrun	

 Determine the upgrade steps required without executing any changes.
   --sql	

 	

 Report the SQL that would be performed instead of executing it.
   --name <name>
	

 	

 	

 The author as whom to perform the upgrade steps.
	

 	

 	

 Required when performing an upgrade (not at initial install).
Installs or upgrades a database to the current MT schema.

   --quiet	

	

 Stop progress reports.
   --dryrun	

 Determine the upgrade steps required without executing any changes.
   --sql	

 	

 Report the SQL that would be performed instead of executing it.
   --name <name>
	

 	

 	

 The author as whom to perform the upgrade steps.
	

 	

 	

 Required when performing an upgrade (not at initial install).

At initial install, these parameters are all required. All values must be URI escaped.

 --username <name>
 --password <pass>
 --nickname <name>
 --email <name>
 --use_system_email [0 or 1]
 --preferred_language [ja|de|en-us|es|fr|nl]
 --site_name <name>
 --site_url <url>
 --site_path <path>
 --site_theme <theme>
 --site_timezone <timezone in numeric>
 --rebuild [0|1]
NEW FEATURE

‣ Rich Text   Editor
‣ Site   Path Restriction
‣ SMTP AUTH

‣ tools/upgrade

‣ Cloud
NEW FEATURE

‣ Rich Text   Editor
‣ Site   Path Restriction
‣ SMTP AUTH

‣ tools/upgrade

‣ Cloud
Movable Type

on the Cloud
Run on...
Windows Azure
Movable Type Advanced
                 Next session...
PSGI/Plack
Perl web
Server
Gateway
Interface
“Plack is a set of tools for using the PSGI
stack. It contains middleware components,
  a reference server and utilities for Web
application frameworks. Plack is like Ruby's
     Rack or Python's Paste for WSGI.”
                      cite: http://search.cpan.org/~miyagawa/Plack-1.0001/lib/Plack.pm
before
                     Apache

         mod_cgi    mod_perl      mod_fcgi



          CGI       mod_perl      FastCGI

                   Movable Type
after               Apache
        mod_cgi    mod_perl      mod_fcgi




                     Plack




                  Movable Type
$ cpanm Task::Plack
Movable Type

   meets

 PSGI/Plack
‣   mt.psgi / MT::PSGI
‣   Auto mount applications
‣   Graceful reloading
‣   Support for plugins
‣   mt.psgi / MT::PSGI
‣   Auto mount applications
‣   Graceful reloading
‣   Support for plugins
mt.psgi / MT::PSGI
‱ mt.psgi
   #!/usr/bin/perl

   #   Movable Type (r) Open Source (C) 2001-2012 Six Apart, Ltd.
   #   This program is distributed under the terms of the
   #   GNU General Public License, version 2.
   #
   #   $Id$

   use strict;
   use lib $ENV{MT_HOME} ? "$ENV{MT_HOME}/lib"    : 'lib';
   use lib $ENV{MT_HOME} ? "$ENV{MT_HOME}/extlib" : 'extlib';
   use MT::PSGI;
   my $app = MT::PSGI->new()->to_app();

         $ starman --workers 2 --port 5000 --pid=/var/run/mt.pid /path/to/mt.psgi


‱ MT::PSGI

  ‱ Like      a MT::Bootstrap

  ‱ Wrapping         Movable Type applications as PSGI application
‣   mt.psgi / MT::PSGI
‣   Auto mount applications
‣   Graceful reloading
‣   Support for plugins
‣   mt.psgi / MT::PSGI
‣   Auto mount applications
‣   Graceful reloading
‣   Support for plugins
Auto mount applications
‱ Read   application information from the registry at initializing

‱ Not  only for core applications. Your application in the plugin
 will be able to auto-mount
applications:
    community:
        handler: MT::App::Community
        script: $Community::MT::App::Community::script_name

                                                      ~ addons/Community.pack/config.yaml ~


         applications =>   {
             'xmlrpc' =>   {
                 handler   => 'MT::XMLRPCServer',
                 script    => sub { MT->config->XMLRPCScript },
                 type      => 'xmlrpc',
             },
             'atom' => {
                 handler   => 'MT::AtomServer',
                 script    => sub { MT->config->AtomScript },
             },


                                                                        ~ lib/MT/Core.pm ~
‣   mt.psgi / MT::PSGI
‣   Auto mount applications
‣   Graceful reloading
‣   Support for plugins
‣   mt.psgi / MT::PSGI
‣   Auto mount applications
‣   Graceful reloading
‣   Support for plugins
Graceful reloading
‱ reboot()   method in MT::App
=head2 $app->reboot

Reboot all MT instance. Now, this method sends SIGHUP to the process manager
which specified by PIDFilePath config directive. If PIDFilePath isn't set, no
signals would be sent.
                                                              ~ lib/MT/App.pm : POD ~

my $app = MT->instace;
$app->reboot();

‱ Currently, reloading      automatically at following event

    ‱ Install   / Upgrade

    ‱ Post   save mt_conïŹg (settings)

    ‱ Post   save mt_ïŹeld (custom ïŹelds)

‱ Your   plugin should call reboot method if you want to reload
NEW CONFIGURATION DIRECTIVE




  PIDFilePath /path/to/pid_ïŹle/ïŹlename
‣   mt.psgi / MT::PSGI
‣   Auto mount applications
‣   Graceful reloading
‣   Support for plugins
‣   mt.psgi / MT::PSGI
‣   Auto mount applications
‣   Graceful reloading
‣   Support for plugins
Support for plugin
‱   If your plugin have an application, should set following attribute
       ‱   script: Required, Subroutine reference that returns your script's
           endpoint name
       ‱   cgi_path: Optional, If you want to mount your application on the
           path different from other applications, you can set subroutine
           reference that returns path to your application
       ‱   type: Optional, Specify the application type. Only 'run_once' and
           'xmlrpc' are acceptable value. default, persistent CGI script
             ‱   run_once: Run as non-persistent CGI script

             ‱   xmlrpc: Special mode for apps which constructed on XMLRPC::Lite. Make PSGI app
                 with using XMLRPC::Transport::HTTP::Plack

‱   Your plugin will never change about output (almost)
Sample conïŹg.yaml
id: NewApp
name: NewApp

applications:
    newapp:
        handler: NewApp::App
        script: >
            sub {
                MT->config->NewAppScript
            }

       cgi_path: >
           sub {
               MT->config->NewAppCGIPath;
           }

        methods:
            hello: $NewApp::NewApp::App::hello
config_settings:
    NewAppCGIPath:
        default: /mt/test/
    NewAppScript:
        default: new-app.cgi
Online Beta Trial
http://www.movabletype.jp/beta/52/online.html
IDC Frontier
Cloud Service
http://www.idcf.jp/cloud/service/
IDC Frontier
Cloud Service XS Plan
1 CPU
0.5GB Memory
5GB HDD                nginx (Port:80,443)
               php-fpm / dynamic publishing handler

                                         Reverse Proxy

                        Starman (Port:5000)


                                         PSGI

                          Movable Type
IDC Frontier
Cloud Service XS Plan
1 CPU
0.5GB Memory
5GB HDD                nginx (Port:80,443)
               php-fpm / dynamic publishing handler

                                         Reverse Proxy

                        Starman (Port:5000)


                                         PSGI

                          Movable Type
Nginx
“high-performance HTTP Server and reverse proxy”
Nginx 
‣   Speed
‣   Smart
‣   Scalability
‣   Super lightweight
Nginx 
‣   Nginx does not serve CGI
    script by default
‣   Nginx does not
    support .htaccess
Starman
“high-performance preforking PSGI/Plack web server”
IDC Frontier
Cloud Service XS Plan
1 CPU
0.5GB Memory
5GB HDD                nginx (Port:80,443)
               php-fpm / dynamic publishing handler

                                         Reverse Proxy

                        Starman (Port:5000)


                                         PSGI

                          Movable Type
Starman

‣   Launch PSGI application
‣   Starman is reference
    implementation for Plack server
Dynamic Publishing
    Handler
 “.htaccess redirect handler for Dynamic Publishing”
Dynamic Publishing Handler

‣   For Dynamic Publishing
‣   Implemented by Six Apart
‣   By Perl
‣   Will be public, coming soon
Check out the code
$ git clone git@github.com:movabletype/movabletype.git
$ git checkout -b develop origin/develop
$ make me




            Try online Beta
    http://www.movabletype.jp/beta/52/online.html
Any questions?
Thank you for listening

Weitere Àhnliche Inhalte

Was ist angesagt?

Using Apache Camel connectors for external connectivity
Using Apache Camel connectors for external connectivityUsing Apache Camel connectors for external connectivity
Using Apache Camel connectors for external connectivityClaus Ibsen
 
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQueryRemedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQueryTatsuhiko Miyagawa
 
Plack perl superglue for web frameworks and servers
Plack perl superglue for web frameworks and serversPlack perl superglue for web frameworks and servers
Plack perl superglue for web frameworks and serversTatsuhiko Miyagawa
 
Practical Message Queuing Using RabbitMQ (PHPem, 3rd July 2014)
Practical Message Queuing Using RabbitMQ (PHPem, 3rd July 2014)Practical Message Queuing Using RabbitMQ (PHPem, 3rd July 2014)
Practical Message Queuing Using RabbitMQ (PHPem, 3rd July 2014)James Titcumb
 
OSGi ecosystems compared on Apache Karaf - Christian Schneider
OSGi ecosystems compared on Apache Karaf - Christian SchneiderOSGi ecosystems compared on Apache Karaf - Christian Schneider
OSGi ecosystems compared on Apache Karaf - Christian Schneidermfrancis
 
[넀읎ëČ„ì˜€í”ˆì†ŒìŠ€ì„žëŻžë‚˜] What’s new in Zipkin - Adrian Cole
[넀읎ëČ„ì˜€í”ˆì†ŒìŠ€ì„žëŻžë‚˜] What’s new in Zipkin - Adrian Cole[넀읎ëČ„ì˜€í”ˆì†ŒìŠ€ì„žëŻžë‚˜] What’s new in Zipkin - Adrian Cole
[넀읎ëČ„ì˜€í”ˆì†ŒìŠ€ì„žëŻžë‚˜] What’s new in Zipkin - Adrian ColeNAVER Engineering
 
Microservices with apache_camel_barcelona
Microservices with apache_camel_barcelonaMicroservices with apache_camel_barcelona
Microservices with apache_camel_barcelonaClaus Ibsen
 
Getting Started with Apache Camel - Malmo JUG - March 2013
Getting Started with Apache Camel - Malmo JUG - March 2013Getting Started with Apache Camel - Malmo JUG - March 2013
Getting Started with Apache Camel - Malmo JUG - March 2013Claus Ibsen
 
Taming AEM deployments
Taming AEM deploymentsTaming AEM deployments
Taming AEM deploymentsJakub Wadolowski
 
Getting started with Apache Camel - jDays 2013
Getting started with Apache Camel - jDays 2013Getting started with Apache Camel - jDays 2013
Getting started with Apache Camel - jDays 2013Claus Ibsen
 
ApacheConNA 2015: Apache httpd 2.4 Reverse Proxy
ApacheConNA 2015: Apache httpd 2.4 Reverse ProxyApacheConNA 2015: Apache httpd 2.4 Reverse Proxy
ApacheConNA 2015: Apache httpd 2.4 Reverse ProxyJim Jagielski
 
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A GrzesikApache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesikmfrancis
 
Accelerate your web app with a layer of Varnish
Accelerate your web app with a layer of VarnishAccelerate your web app with a layer of Varnish
Accelerate your web app with a layer of VarnishJeremy Cook
 
Find bottleneck and tuning in Java Application
Find bottleneck and tuning in Java ApplicationFind bottleneck and tuning in Java Application
Find bottleneck and tuning in Java Applicationguest1f2740
 
Eugene Bova "Dapr (Distributed Application Runtime) in a Microservices Archit...
Eugene Bova "Dapr (Distributed Application Runtime) in a Microservices Archit...Eugene Bova "Dapr (Distributed Application Runtime) in a Microservices Archit...
Eugene Bova "Dapr (Distributed Application Runtime) in a Microservices Archit...LogeekNightUkraine
 
Paris Monitoring meetup #1 - Zabbix at BlaBlaCar
Paris Monitoring meetup #1 - Zabbix at BlaBlaCarParis Monitoring meetup #1 - Zabbix at BlaBlaCar
Paris Monitoring meetup #1 - Zabbix at BlaBlaCarJean Baptiste Favre
 
Integration using Apache Camel and Groovy
Integration using Apache Camel and GroovyIntegration using Apache Camel and Groovy
Integration using Apache Camel and GroovyClaus Ibsen
 
How to test code with mruby
How to test code with mrubyHow to test code with mruby
How to test code with mrubyHiroshi SHIBATA
 

Was ist angesagt? (20)

A few words about WAMP
A few words about WAMPA few words about WAMP
A few words about WAMP
 
Using Apache Camel connectors for external connectivity
Using Apache Camel connectors for external connectivityUsing Apache Camel connectors for external connectivity
Using Apache Camel connectors for external connectivity
 
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQueryRemedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
 
Plack perl superglue for web frameworks and servers
Plack perl superglue for web frameworks and serversPlack perl superglue for web frameworks and servers
Plack perl superglue for web frameworks and servers
 
Practical Message Queuing Using RabbitMQ (PHPem, 3rd July 2014)
Practical Message Queuing Using RabbitMQ (PHPem, 3rd July 2014)Practical Message Queuing Using RabbitMQ (PHPem, 3rd July 2014)
Practical Message Queuing Using RabbitMQ (PHPem, 3rd July 2014)
 
OSGi ecosystems compared on Apache Karaf - Christian Schneider
OSGi ecosystems compared on Apache Karaf - Christian SchneiderOSGi ecosystems compared on Apache Karaf - Christian Schneider
OSGi ecosystems compared on Apache Karaf - Christian Schneider
 
[넀읎ëČ„ì˜€í”ˆì†ŒìŠ€ì„žëŻžë‚˜] What’s new in Zipkin - Adrian Cole
[넀읎ëČ„ì˜€í”ˆì†ŒìŠ€ì„žëŻžë‚˜] What’s new in Zipkin - Adrian Cole[넀읎ëČ„ì˜€í”ˆì†ŒìŠ€ì„žëŻžë‚˜] What’s new in Zipkin - Adrian Cole
[넀읎ëČ„ì˜€í”ˆì†ŒìŠ€ì„žëŻžë‚˜] What’s new in Zipkin - Adrian Cole
 
Microservices with apache_camel_barcelona
Microservices with apache_camel_barcelonaMicroservices with apache_camel_barcelona
Microservices with apache_camel_barcelona
 
Getting Started with Apache Camel - Malmo JUG - March 2013
Getting Started with Apache Camel - Malmo JUG - March 2013Getting Started with Apache Camel - Malmo JUG - March 2013
Getting Started with Apache Camel - Malmo JUG - March 2013
 
Taming AEM deployments
Taming AEM deploymentsTaming AEM deployments
Taming AEM deployments
 
Getting started with Apache Camel - jDays 2013
Getting started with Apache Camel - jDays 2013Getting started with Apache Camel - jDays 2013
Getting started with Apache Camel - jDays 2013
 
ApacheConNA 2015: Apache httpd 2.4 Reverse Proxy
ApacheConNA 2015: Apache httpd 2.4 Reverse ProxyApacheConNA 2015: Apache httpd 2.4 Reverse Proxy
ApacheConNA 2015: Apache httpd 2.4 Reverse Proxy
 
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A GrzesikApache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
 
Tatsumaki
TatsumakiTatsumaki
Tatsumaki
 
Accelerate your web app with a layer of Varnish
Accelerate your web app with a layer of VarnishAccelerate your web app with a layer of Varnish
Accelerate your web app with a layer of Varnish
 
Find bottleneck and tuning in Java Application
Find bottleneck and tuning in Java ApplicationFind bottleneck and tuning in Java Application
Find bottleneck and tuning in Java Application
 
Eugene Bova "Dapr (Distributed Application Runtime) in a Microservices Archit...
Eugene Bova "Dapr (Distributed Application Runtime) in a Microservices Archit...Eugene Bova "Dapr (Distributed Application Runtime) in a Microservices Archit...
Eugene Bova "Dapr (Distributed Application Runtime) in a Microservices Archit...
 
Paris Monitoring meetup #1 - Zabbix at BlaBlaCar
Paris Monitoring meetup #1 - Zabbix at BlaBlaCarParis Monitoring meetup #1 - Zabbix at BlaBlaCar
Paris Monitoring meetup #1 - Zabbix at BlaBlaCar
 
Integration using Apache Camel and Groovy
Integration using Apache Camel and GroovyIntegration using Apache Camel and Groovy
Integration using Apache Camel and Groovy
 
How to test code with mruby
How to test code with mrubyHow to test code with mruby
How to test code with mruby
 

Ähnlich wie Movable Type 5.2 Overview at MTDDC 2012

Deploying Plack Web Applications: OSCON 2011
Deploying Plack Web Applications: OSCON 2011Deploying Plack Web Applications: OSCON 2011
Deploying Plack Web Applications: OSCON 2011Tatsuhiko Miyagawa
 
Plack basics for Perl websites - YAPC::EU 2011
Plack basics for Perl websites - YAPC::EU 2011Plack basics for Perl websites - YAPC::EU 2011
Plack basics for Perl websites - YAPC::EU 2011leo lapworth
 
OpenShift Origin Community Day (Boston) Extending OpenShift Origin: Build You...
OpenShift Origin Community Day (Boston) Extending OpenShift Origin: Build You...OpenShift Origin Community Day (Boston) Extending OpenShift Origin: Build You...
OpenShift Origin Community Day (Boston) Extending OpenShift Origin: Build You...OpenShift Origin
 
OpenShift Origin Community Day (Boston) Writing Cartridges V2 by Jhon Honce
OpenShift Origin Community Day (Boston) Writing Cartridges V2 by Jhon Honce OpenShift Origin Community Day (Boston) Writing Cartridges V2 by Jhon Honce
OpenShift Origin Community Day (Boston) Writing Cartridges V2 by Jhon Honce Diane Mueller
 
Docker for mac & local developer environment optimization
Docker for mac & local developer environment optimizationDocker for mac & local developer environment optimization
Docker for mac & local developer environment optimizationRadek Baczynski
 
Scale Apache with Nginx
Scale Apache with NginxScale Apache with Nginx
Scale Apache with NginxBud Siddhisena
 
What's New and Newer in Apache httpd-24
What's New and Newer in Apache httpd-24What's New and Newer in Apache httpd-24
What's New and Newer in Apache httpd-24Jim Jagielski
 
GE Predix æ–°æ‰‹ć…„é—š 蔔锎 物联眑_IoT
GE Predix æ–°æ‰‹ć…„é—š 蔔锎 物联眑_IoTGE Predix æ–°æ‰‹ć…„é—š 蔔锎 物联眑_IoT
GE Predix æ–°æ‰‹ć…„é—š 蔔锎 物联眑_IoTKai Zhao
 
Wt vs phalcon
Wt vs phalconWt vs phalcon
Wt vs phalconAmitoj Singh
 
php & performance
 php & performance php & performance
php & performancesimon8410
 
AMIMOTO: WordPress + Amazon Web Services Hands-on PARIS
AMIMOTO: WordPress + Amazon Web Services Hands-on PARISAMIMOTO: WordPress + Amazon Web Services Hands-on PARIS
AMIMOTO: WordPress + Amazon Web Services Hands-on PARISKel
 
Linux sever building
Linux sever buildingLinux sever building
Linux sever buildingEdmond Yu
 
Php Inside - confoo 2011 - Derick Rethans
Php Inside -  confoo 2011 - Derick RethansPhp Inside -  confoo 2011 - Derick Rethans
Php Inside - confoo 2011 - Derick RethansBachkoutou Toutou
 
Hands-On: Deploy Remote Graphics Desktops for Content Production (CMP422) - A...
Hands-On: Deploy Remote Graphics Desktops for Content Production (CMP422) - A...Hands-On: Deploy Remote Graphics Desktops for Content Production (CMP422) - A...
Hands-On: Deploy Remote Graphics Desktops for Content Production (CMP422) - A...Amazon Web Services
 
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...OpenShift Origin
 
Integrating ChatGPT with Apache Airflow
Integrating ChatGPT with Apache AirflowIntegrating ChatGPT with Apache Airflow
Integrating ChatGPT with Apache AirflowTatiana Al-Chueyr
 
Deploying Perl apps on dotCloud
Deploying Perl apps on dotCloudDeploying Perl apps on dotCloud
Deploying Perl apps on dotClouddaoswald
 
Android 5.0 Lollipop platform change investigation report
Android 5.0 Lollipop platform change investigation reportAndroid 5.0 Lollipop platform change investigation report
Android 5.0 Lollipop platform change investigation reporthidenorly
 

Ähnlich wie Movable Type 5.2 Overview at MTDDC 2012 (20)

Deploying Plack Web Applications: OSCON 2011
Deploying Plack Web Applications: OSCON 2011Deploying Plack Web Applications: OSCON 2011
Deploying Plack Web Applications: OSCON 2011
 
Plack basics for Perl websites - YAPC::EU 2011
Plack basics for Perl websites - YAPC::EU 2011Plack basics for Perl websites - YAPC::EU 2011
Plack basics for Perl websites - YAPC::EU 2011
 
OpenShift Origin Community Day (Boston) Extending OpenShift Origin: Build You...
OpenShift Origin Community Day (Boston) Extending OpenShift Origin: Build You...OpenShift Origin Community Day (Boston) Extending OpenShift Origin: Build You...
OpenShift Origin Community Day (Boston) Extending OpenShift Origin: Build You...
 
OpenShift Origin Community Day (Boston) Writing Cartridges V2 by Jhon Honce
OpenShift Origin Community Day (Boston) Writing Cartridges V2 by Jhon Honce OpenShift Origin Community Day (Boston) Writing Cartridges V2 by Jhon Honce
OpenShift Origin Community Day (Boston) Writing Cartridges V2 by Jhon Honce
 
Nginx pres
Nginx presNginx pres
Nginx pres
 
Docker for mac & local developer environment optimization
Docker for mac & local developer environment optimizationDocker for mac & local developer environment optimization
Docker for mac & local developer environment optimization
 
Scale Apache with Nginx
Scale Apache with NginxScale Apache with Nginx
Scale Apache with Nginx
 
What's New and Newer in Apache httpd-24
What's New and Newer in Apache httpd-24What's New and Newer in Apache httpd-24
What's New and Newer in Apache httpd-24
 
GE Predix æ–°æ‰‹ć…„é—š 蔔锎 物联眑_IoT
GE Predix æ–°æ‰‹ć…„é—š 蔔锎 物联眑_IoTGE Predix æ–°æ‰‹ć…„é—š 蔔锎 物联眑_IoT
GE Predix æ–°æ‰‹ć…„é—š 蔔锎 物联眑_IoT
 
Wt vs phalcon
Wt vs phalconWt vs phalcon
Wt vs phalcon
 
php & performance
 php & performance php & performance
php & performance
 
AMIMOTO: WordPress + Amazon Web Services Hands-on PARIS
AMIMOTO: WordPress + Amazon Web Services Hands-on PARISAMIMOTO: WordPress + Amazon Web Services Hands-on PARIS
AMIMOTO: WordPress + Amazon Web Services Hands-on PARIS
 
Linux sever building
Linux sever buildingLinux sever building
Linux sever building
 
Php Inside - confoo 2011 - Derick Rethans
Php Inside -  confoo 2011 - Derick RethansPhp Inside -  confoo 2011 - Derick Rethans
Php Inside - confoo 2011 - Derick Rethans
 
Get your teeth into Plack
Get your teeth into PlackGet your teeth into Plack
Get your teeth into Plack
 
Hands-On: Deploy Remote Graphics Desktops for Content Production (CMP422) - A...
Hands-On: Deploy Remote Graphics Desktops for Content Production (CMP422) - A...Hands-On: Deploy Remote Graphics Desktops for Content Production (CMP422) - A...
Hands-On: Deploy Remote Graphics Desktops for Content Production (CMP422) - A...
 
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
 
Integrating ChatGPT with Apache Airflow
Integrating ChatGPT with Apache AirflowIntegrating ChatGPT with Apache Airflow
Integrating ChatGPT with Apache Airflow
 
Deploying Perl apps on dotCloud
Deploying Perl apps on dotCloudDeploying Perl apps on dotCloud
Deploying Perl apps on dotCloud
 
Android 5.0 Lollipop platform change investigation report
Android 5.0 Lollipop platform change investigation reportAndroid 5.0 Lollipop platform change investigation report
Android 5.0 Lollipop platform change investigation report
 

Mehr von Yuji Takayama

Movable Type 7 ぼすăčお
Movable Type 7 ぼすăčおMovable Type 7 ぼすăčお
Movable Type 7 ぼすăčおYuji Takayama
 
è©łèȘŹ Movable type 7
è©łèȘŹ Movable type 7è©łèȘŹ Movable type 7
è©łèȘŹ Movable type 7Yuji Takayama
 
Data API こべはじめ
Data API こべはじめData API こべはじめ
Data API こべはじめYuji Takayama
 
抂èȘŹ Data API v3
抂èȘŹ Data API v3抂èȘŹ Data API v3
抂èȘŹ Data API v3Yuji Takayama
 
è©łèȘŹ Data api mtddc æ‹ĄćŒ”ç‰ˆ v3ćŻŸćżœ
è©łèȘŹ Data api mtddc æ‹ĄćŒ”ç‰ˆ   v3ćŻŸćżœè©łèȘŹ Data api mtddc æ‹ĄćŒ”ç‰ˆ   v3ćŻŸćżœ
è©łèȘŹ Data api mtddc æ‹ĄćŒ”ç‰ˆ v3ćŻŸćżœYuji Takayama
 
戝めどぼ Data api cms べ゙うど゙しょう - 性é˜Șć€ăźé™Ł
戝めどぼ Data api   cms べ゙うど゙しょう - 性é˜Șć€ăźé™Łćˆă‚ăŠăź Data api   cms べ゙うど゙しょう - 性é˜Șć€ăźé™Ł
戝めどぼ Data api cms べ゙うど゙しょう - 性é˜Șć€ăźé™ŁYuji Takayama
 
Data apiăŠă‚™ćźŸçŸ é€Č挖するwebぼ侖界
Data apiăŠă‚™ćźŸçŸ é€Č挖するwebぼ侖界Data apiăŠă‚™ćźŸçŸ é€Č挖するwebぼ侖界
Data apiăŠă‚™ćźŸçŸ é€Č挖するwebぼ侖界Yuji Takayama
 
戝めどぼ Data API CMS べ゙うど゙しょう - ä»™ć°ç·š -
戝めどぼ Data API   CMS べ゙うど゙しょう - ä»™ć°ç·š -戝めどぼ Data API   CMS べ゙うど゙しょう - ä»™ć°ç·š -
戝めどぼ Data API CMS べ゙うど゙しょう - ä»™ć°ç·š -Yuji Takayama
 
Movable Type for AWS Hands-on
Movable Type for AWS Hands-onMovable Type for AWS Hands-on
Movable Type for AWS Hands-onYuji Takayama
 
戝めどぼ Data api
戝めどぼ Data api戝めどぼ Data api
戝めどぼ Data apiYuji Takayama
 
Data API + AWS = (CMS べ゙うど゙しょう 札ćčŒç·š)
Data API + AWS =  (CMS べ゙うど゙しょう 札ćčŒç·š)Data API + AWS =  (CMS べ゙うど゙しょう 札ćčŒç·š)
Data API + AWS = (CMS べ゙うど゙しょう 札ćčŒç·š)Yuji Takayama
 
Movable Type for AWS - JAWS-UG æȖ羄 CMSç„­ă‚ŠïŒ
Movable Type for AWS - JAWS-UG æȖ羄 CMSç„­ă‚ŠïŒMovable Type for AWS - JAWS-UG æȖ羄 CMSç„­ă‚ŠïŒ
Movable Type for AWS - JAWS-UG æȖ羄 CMSç„­ă‚ŠïŒYuji Takayama
 
MT東äșŹ03 - Movable Type for AWS
MT東äșŹ03 - Movable Type for AWSMT東äșŹ03 - Movable Type for AWS
MT東äșŹ03 - Movable Type for AWSYuji Takayama
 
Data api workshop at Co-Edo
Data api workshop at Co-EdoData api workshop at Co-Edo
Data api workshop at Co-EdoYuji Takayama
 
Mtăšă‚Żăƒ©ă‚Šăƒ‰ăšç§
Mtăšă‚Żăƒ©ă‚Šăƒ‰ăšç§Mtăšă‚Żăƒ©ă‚Šăƒ‰ăšç§
Mtăšă‚Żăƒ©ă‚Šăƒ‰ăšç§Yuji Takayama
 
Movable Type 6 overview spec3
Movable Type 6 overview spec3Movable Type 6 overview spec3
Movable Type 6 overview spec3Yuji Takayama
 
Movable Type 6 Overview - New York Perl Mongers Tech Talk
Movable Type 6 Overview - New York Perl Mongers Tech TalkMovable Type 6 Overview - New York Perl Mongers Tech Talk
Movable Type 6 Overview - New York Perl Mongers Tech TalkYuji Takayama
 
Movable Type 6 Overview SPEC2
Movable Type 6 Overview SPEC2Movable Type 6 Overview SPEC2
Movable Type 6 Overview SPEC2Yuji Takayama
 
Mtddc2013: Movable Type 6 Overview
Mtddc2013: Movable Type 6 OverviewMtddc2013: Movable Type 6 Overview
Mtddc2013: Movable Type 6 OverviewYuji Takayama
 

Mehr von Yuji Takayama (20)

Movable Type 7 ぼすăčお
Movable Type 7 ぼすăčおMovable Type 7 ぼすăčお
Movable Type 7 ぼすăčお
 
è©łèȘŹ Movable type 7
è©łèȘŹ Movable type 7è©łèȘŹ Movable type 7
è©łèȘŹ Movable type 7
 
Data API こべはじめ
Data API こべはじめData API こべはじめ
Data API こべはじめ
 
抂èȘŹ Data API v3
抂èȘŹ Data API v3抂èȘŹ Data API v3
抂èȘŹ Data API v3
 
è©łèȘŹ Data api mtddc æ‹ĄćŒ”ç‰ˆ v3ćŻŸćżœ
è©łèȘŹ Data api mtddc æ‹ĄćŒ”ç‰ˆ   v3ćŻŸćżœè©łèȘŹ Data api mtddc æ‹ĄćŒ”ç‰ˆ   v3ćŻŸćżœ
è©łèȘŹ Data api mtddc æ‹ĄćŒ”ç‰ˆ v3ćŻŸćżœ
 
戝めどぼ Data api cms べ゙うど゙しょう - 性é˜Șć€ăźé™Ł
戝めどぼ Data api   cms べ゙うど゙しょう - 性é˜Șć€ăźé™Łćˆă‚ăŠăź Data api   cms べ゙うど゙しょう - 性é˜Șć€ăźé™Ł
戝めどぼ Data api cms べ゙うど゙しょう - 性é˜Șć€ăźé™Ł
 
Data apiăŠă‚™ćźŸçŸ é€Č挖するwebぼ侖界
Data apiăŠă‚™ćźŸçŸ é€Č挖するwebぼ侖界Data apiăŠă‚™ćźŸçŸ é€Č挖するwebぼ侖界
Data apiăŠă‚™ćźŸçŸ é€Č挖するwebぼ侖界
 
戝めどぼ Data API CMS べ゙うど゙しょう - ä»™ć°ç·š -
戝めどぼ Data API   CMS べ゙うど゙しょう - ä»™ć°ç·š -戝めどぼ Data API   CMS べ゙うど゙しょう - ä»™ć°ç·š -
戝めどぼ Data API CMS べ゙うど゙しょう - ä»™ć°ç·š -
 
Movable Type for AWS Hands-on
Movable Type for AWS Hands-onMovable Type for AWS Hands-on
Movable Type for AWS Hands-on
 
戝めどぼ Data api
戝めどぼ Data api戝めどぼ Data api
戝めどぼ Data api
 
Data API + AWS = (CMS べ゙うど゙しょう 札ćčŒç·š)
Data API + AWS =  (CMS べ゙うど゙しょう 札ćčŒç·š)Data API + AWS =  (CMS べ゙うど゙しょう 札ćčŒç·š)
Data API + AWS = (CMS べ゙うど゙しょう 札ćčŒç·š)
 
Data API 2.0
Data API 2.0Data API 2.0
Data API 2.0
 
Movable Type for AWS - JAWS-UG æȖ羄 CMSç„­ă‚ŠïŒ
Movable Type for AWS - JAWS-UG æȖ羄 CMSç„­ă‚ŠïŒMovable Type for AWS - JAWS-UG æȖ羄 CMSç„­ă‚ŠïŒ
Movable Type for AWS - JAWS-UG æȖ羄 CMSç„­ă‚ŠïŒ
 
MT東äșŹ03 - Movable Type for AWS
MT東äșŹ03 - Movable Type for AWSMT東äșŹ03 - Movable Type for AWS
MT東äșŹ03 - Movable Type for AWS
 
Data api workshop at Co-Edo
Data api workshop at Co-EdoData api workshop at Co-Edo
Data api workshop at Co-Edo
 
Mtăšă‚Żăƒ©ă‚Šăƒ‰ăšç§
Mtăšă‚Żăƒ©ă‚Šăƒ‰ăšç§Mtăšă‚Żăƒ©ă‚Šăƒ‰ăšç§
Mtăšă‚Żăƒ©ă‚Šăƒ‰ăšç§
 
Movable Type 6 overview spec3
Movable Type 6 overview spec3Movable Type 6 overview spec3
Movable Type 6 overview spec3
 
Movable Type 6 Overview - New York Perl Mongers Tech Talk
Movable Type 6 Overview - New York Perl Mongers Tech TalkMovable Type 6 Overview - New York Perl Mongers Tech Talk
Movable Type 6 Overview - New York Perl Mongers Tech Talk
 
Movable Type 6 Overview SPEC2
Movable Type 6 Overview SPEC2Movable Type 6 Overview SPEC2
Movable Type 6 Overview SPEC2
 
Mtddc2013: Movable Type 6 Overview
Mtddc2013: Movable Type 6 OverviewMtddc2013: Movable Type 6 Overview
Mtddc2013: Movable Type 6 Overview
 

KĂŒrzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel AraĂșjo
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

KĂŒrzlich hochgeladen (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

Movable Type 5.2 Overview at MTDDC 2012

  • 1. MOVABLE TYPE 5.2 OVERVIEW (è‹„ćčČă‚šăƒłă‚žăƒ‹ă‚ąç›źç·š) 2012.8.4 (Sat) YUJI TAKAYAMA Six Apart, Ltd.
  • 2. it tra or lf p Se YUJI Takayama @yuji Software Engineer, Movable Type, Six Apart
  • 3. NEW FEATURE ‣ Rich Text Editor ‣ Site Path Restriction ‣ SMTP AUTH ‣ tools/upgrade ‣ Cloud
  • 4. NEW FEATURE ‣ Rich Text Editor ‣ Site Path Restriction ‣ SMTP AUTH ‣ tools/upgrade ‣ Cloud
  • 5. TinyMCE Next session...
  • 7. NEW FEATURE ‣ Rich Text Editor ‣ Site Path Restriction ‣ SMTP AUTH ‣ tools/upgrade ‣ Cloud
  • 8. NEW FEATURE ‣ Rich Text Editor ‣ Site Path Restriction ‣ SMTP AUTH ‣ tools/upgrade ‣ Cloud
  • 9. System Administrator can restricts publishing path
  • 10.
  • 11. NEW CONFIGURATION DIRECTIVE BaseSitePath /path/to/site_root HideBaseSitePath [0 / 1]
  • 12. NEW FEATURE ‣ Rich Text Editor ‣ Site Path Restriction ‣ SMTP AUTH ‣ tools/upgrade ‣ Cloud
  • 13. NEW FEATURE ‣ Rich Text Editor ‣ Site Path Restriction ‣ SMTP AUTH ‣ tools/upgrade ‣ Cloud
  • 14.
  • 15. ‣ Mail::Sendmail → Net::SMTP Family ‣ Net::SMTP ‣ Net::SMTP::SSL ‣ Net::SMTP::TLS ‣ SSL/TLS | STARTTLS support ‣ Submission Port support ‣ Debug support ‣ Function interface is same as 5.1x
  • 16. NEW CONFIGURATION DIRECTIVE SMTPAuth [0 / 1 / ssl / starttls] SMTPUser login username SMTPPassword login password SMTPPort port number
  • 17. NEW FEATURE ‣ Rich Text Editor ‣ Site Path Restriction ‣ SMTP AUTH ‣ tools/upgrade ‣ Cloud
  • 18. NEW FEATURE ‣ Rich Text Editor ‣ Site Path Restriction ‣ SMTP AUTH ‣ tools/upgrade ‣ Cloud
  • 20. Installs or upgrades a database to the current MT schema. --quiet Stop progress reports. --dryrun Determine the upgrade steps required without executing any changes. --sql Report the SQL that would be performed instead of executing it. --name <name> The author as whom to perform the upgrade steps. Required when performing an upgrade (not at initial install).
  • 21. Installs or upgrades a database to the current MT schema. --quiet Stop progress reports. --dryrun Determine the upgrade steps required without executing any changes. --sql Report the SQL that would be performed instead of executing it. --name <name> The author as whom to perform the upgrade steps. Required when performing an upgrade (not at initial install). At initial install, these parameters are all required. All values must be URI escaped. --username <name> --password <pass> --nickname <name> --email <name> --use_system_email [0 or 1] --preferred_language [ja|de|en-us|es|fr|nl] --site_name <name> --site_url <url> --site_path <path> --site_theme <theme> --site_timezone <timezone in numeric> --rebuild [0|1]
  • 22. NEW FEATURE ‣ Rich Text Editor ‣ Site Path Restriction ‣ SMTP AUTH ‣ tools/upgrade ‣ Cloud
  • 23. NEW FEATURE ‣ Rich Text Editor ‣ Site Path Restriction ‣ SMTP AUTH ‣ tools/upgrade ‣ Cloud
  • 25. Run on... Windows Azure Movable Type Advanced Next session...
  • 28. “Plack is a set of tools for using the PSGI stack. It contains middleware components, a reference server and utilities for Web application frameworks. Plack is like Ruby's Rack or Python's Paste for WSGI.” cite: http://search.cpan.org/~miyagawa/Plack-1.0001/lib/Plack.pm
  • 29. before Apache mod_cgi mod_perl mod_fcgi CGI mod_perl FastCGI Movable Type
  • 30. after Apache mod_cgi mod_perl mod_fcgi Plack Movable Type
  • 32. Movable Type meets PSGI/Plack
  • 33. ‣ mt.psgi / MT::PSGI ‣ Auto mount applications ‣ Graceful reloading ‣ Support for plugins
  • 34. ‣ mt.psgi / MT::PSGI ‣ Auto mount applications ‣ Graceful reloading ‣ Support for plugins
  • 35. mt.psgi / MT::PSGI ‱ mt.psgi #!/usr/bin/perl # Movable Type (r) Open Source (C) 2001-2012 Six Apart, Ltd. # This program is distributed under the terms of the # GNU General Public License, version 2. # # $Id$ use strict; use lib $ENV{MT_HOME} ? "$ENV{MT_HOME}/lib" : 'lib'; use lib $ENV{MT_HOME} ? "$ENV{MT_HOME}/extlib" : 'extlib'; use MT::PSGI; my $app = MT::PSGI->new()->to_app(); $ starman --workers 2 --port 5000 --pid=/var/run/mt.pid /path/to/mt.psgi ‱ MT::PSGI ‱ Like a MT::Bootstrap ‱ Wrapping Movable Type applications as PSGI application
  • 36. ‣ mt.psgi / MT::PSGI ‣ Auto mount applications ‣ Graceful reloading ‣ Support for plugins
  • 37. ‣ mt.psgi / MT::PSGI ‣ Auto mount applications ‣ Graceful reloading ‣ Support for plugins
  • 38. Auto mount applications ‱ Read application information from the registry at initializing ‱ Not only for core applications. Your application in the plugin will be able to auto-mount applications: community: handler: MT::App::Community script: $Community::MT::App::Community::script_name ~ addons/Community.pack/config.yaml ~ applications => { 'xmlrpc' => { handler => 'MT::XMLRPCServer', script => sub { MT->config->XMLRPCScript }, type => 'xmlrpc', }, 'atom' => { handler => 'MT::AtomServer', script => sub { MT->config->AtomScript }, }, ~ lib/MT/Core.pm ~
  • 39. ‣ mt.psgi / MT::PSGI ‣ Auto mount applications ‣ Graceful reloading ‣ Support for plugins
  • 40. ‣ mt.psgi / MT::PSGI ‣ Auto mount applications ‣ Graceful reloading ‣ Support for plugins
  • 41. Graceful reloading ‱ reboot() method in MT::App =head2 $app->reboot Reboot all MT instance. Now, this method sends SIGHUP to the process manager which specified by PIDFilePath config directive. If PIDFilePath isn't set, no signals would be sent. ~ lib/MT/App.pm : POD ~ my $app = MT->instace; $app->reboot(); ‱ Currently, reloading automatically at following event ‱ Install / Upgrade ‱ Post save mt_conïŹg (settings) ‱ Post save mt_ïŹeld (custom ïŹelds) ‱ Your plugin should call reboot method if you want to reload
  • 42. NEW CONFIGURATION DIRECTIVE PIDFilePath /path/to/pid_ïŹle/ïŹlename
  • 43. ‣ mt.psgi / MT::PSGI ‣ Auto mount applications ‣ Graceful reloading ‣ Support for plugins
  • 44. ‣ mt.psgi / MT::PSGI ‣ Auto mount applications ‣ Graceful reloading ‣ Support for plugins
  • 45. Support for plugin ‱ If your plugin have an application, should set following attribute ‱ script: Required, Subroutine reference that returns your script's endpoint name ‱ cgi_path: Optional, If you want to mount your application on the path different from other applications, you can set subroutine reference that returns path to your application ‱ type: Optional, Specify the application type. Only 'run_once' and 'xmlrpc' are acceptable value. default, persistent CGI script ‱ run_once: Run as non-persistent CGI script ‱ xmlrpc: Special mode for apps which constructed on XMLRPC::Lite. Make PSGI app with using XMLRPC::Transport::HTTP::Plack ‱ Your plugin will never change about output (almost)
  • 46. Sample conïŹg.yaml id: NewApp name: NewApp applications: newapp: handler: NewApp::App script: > sub { MT->config->NewAppScript } cgi_path: > sub { MT->config->NewAppCGIPath; } methods: hello: $NewApp::NewApp::App::hello config_settings: NewAppCGIPath: default: /mt/test/ NewAppScript: default: new-app.cgi
  • 49. IDC Frontier Cloud Service XS Plan 1 CPU 0.5GB Memory 5GB HDD nginx (Port:80,443) php-fpm / dynamic publishing handler Reverse Proxy Starman (Port:5000) PSGI Movable Type
  • 50. IDC Frontier Cloud Service XS Plan 1 CPU 0.5GB Memory 5GB HDD nginx (Port:80,443) php-fpm / dynamic publishing handler Reverse Proxy Starman (Port:5000) PSGI Movable Type
  • 51. Nginx “high-performance HTTP Server and reverse proxy”
  • 52. Nginx  ‣ Speed ‣ Smart ‣ Scalability ‣ Super lightweight
  • 53. Nginx  ‣ Nginx does not serve CGI script by default ‣ Nginx does not support .htaccess
  • 55. IDC Frontier Cloud Service XS Plan 1 CPU 0.5GB Memory 5GB HDD nginx (Port:80,443) php-fpm / dynamic publishing handler Reverse Proxy Starman (Port:5000) PSGI Movable Type
  • 56. Starman ‣ Launch PSGI application ‣ Starman is reference implementation for Plack server
  • 57. Dynamic Publishing Handler “.htaccess redirect handler for Dynamic Publishing”
  • 58. Dynamic Publishing Handler ‣ For Dynamic Publishing ‣ Implemented by Six Apart ‣ By Perl ‣ Will be public, coming soon
  • 59. Check out the code $ git clone git@github.com:movabletype/movabletype.git $ git checkout -b develop origin/develop $ make me Try online Beta http://www.movabletype.jp/beta/52/online.html
  • 61. Thank you for listening

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. &amp;#x30B7;&amp;#x30B9;&amp;#x30C6;&amp;#x30E0;&amp;#x7BA1;&amp;#x7406;&amp;#x8005;&amp;#x306F;&amp;#x3001;&amp;#x30D6;&amp;#x30ED;&amp;#x30B0;&amp;#x30FB;&amp;#x30A6;&amp;#x30A7;&amp;#x30D6;&amp;#x30B5;&amp;#x30A4;&amp;#x30C8;&amp;#x306E;\n&amp;#x516C;&amp;#x958B;&amp;#x30D1;&amp;#x30B9;&amp;#x3092;&amp;#x7279;&amp;#x5B9A;&amp;#x306E;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x5185;&amp;#x306B;\n&amp;#x5236;&amp;#x9650;&amp;#x3059;&amp;#x308B;&amp;#x4E8B;&amp;#x304C;&amp;#x51FA;&amp;#x6765;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. &amp;#x3053;&amp;#x3053;&amp;#x307E;&amp;#x3067;&amp;#x3067;&amp;#xFF15;&amp;#x301C;&amp;#xFF17;&amp;#x5206;&amp;#x7A0B;&amp;#x5EA6;&amp;#x304C;&amp;#x671B;&amp;#x307E;&amp;#x3057;&amp;#x3044;\n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. &amp;#x307E;&amp;#x3001;nginx&amp;#x3060;&amp;#x3068;CGI&amp;#x52D5;&amp;#x304B;&amp;#x306A;&amp;#x3044;&amp;#x304B;&amp;#x3089;&amp;#x306D;\n
  34. &amp;#x307E;&amp;#x3001;nginx&amp;#x3060;&amp;#x3068;CGI&amp;#x52D5;&amp;#x304B;&amp;#x306A;&amp;#x3044;&amp;#x304B;&amp;#x3089;&amp;#x306D;\n
  35. \n
  36. &amp;#x307E;&amp;#x3001;nginx&amp;#x3060;&amp;#x3068;CGI&amp;#x52D5;&amp;#x304B;&amp;#x306A;&amp;#x3044;&amp;#x304B;&amp;#x3089;&amp;#x306D;\n
  37. &amp;#x307E;&amp;#x3001;nginx&amp;#x3060;&amp;#x3068;CGI&amp;#x52D5;&amp;#x304B;&amp;#x306A;&amp;#x3044;&amp;#x304B;&amp;#x3089;&amp;#x306D;\n
  38. \n
  39. &amp;#x307E;&amp;#x3001;nginx&amp;#x3060;&amp;#x3068;CGI&amp;#x52D5;&amp;#x304B;&amp;#x306A;&amp;#x3044;&amp;#x304B;&amp;#x3089;&amp;#x306D;\n
  40. &amp;#x307E;&amp;#x3001;nginx&amp;#x3060;&amp;#x3068;CGI&amp;#x52D5;&amp;#x304B;&amp;#x306A;&amp;#x3044;&amp;#x304B;&amp;#x3089;&amp;#x306D;\n
  41. \n
  42. \n
  43. &amp;#x307E;&amp;#x3001;nginx&amp;#x3060;&amp;#x3068;CGI&amp;#x52D5;&amp;#x304B;&amp;#x306A;&amp;#x3044;&amp;#x304B;&amp;#x3089;&amp;#x306D;\n
  44. &amp;#x307E;&amp;#x3001;nginx&amp;#x3060;&amp;#x3068;CGI&amp;#x52D5;&amp;#x304B;&amp;#x306A;&amp;#x3044;&amp;#x304B;&amp;#x3089;&amp;#x306D;\n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n