MOVABLE TYPE 5.2  OVERVIEW    (若干エンジニア目線)                    2012.8.4 (Sat)                  YUJI TAKAYAMA                ...
it       tra    orlf pSe                 YUJI Takayama                             @yuji          Software Engineer, Movab...
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 | STAR...
NEW CONFIGURATION DIRECTIVE  SMTPAuth [0 / 1 / ssl / starttls]  SMTPUser login username  SMTPPassword login password  SMTP...
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 upg...
Installs or upgrades a database to the current MT schema.   --quiet		 Stop progress reports.   --dryrun	 Determine the upg...
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 Typeon the Cloud
Run on...Windows AzureMovable Type Advanced                 Next session...
PSGI/Plack
Perl webServerGatewayInterface
“Plack is a set of tools for using the PSGIstack. It contains middleware components,  a reference server and utilities for...
before                     Apache         mod_cgi    mod_perl      mod_fcgi          CGI       mod_perl      FastCGI      ...
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 ...
‣   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...
‣   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->rebootReboot all MT instance. Now, this method sends SIGHUP t...
NEW CONFIGURATION DIRECTIVE  PIDFilePath /path/to/pid_file/filename
‣   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, Subro...
Sample config.yamlid: NewAppname: NewAppapplications:    newapp:        handler: NewApp::App        script: >            su...
Online Beta Trialhttp://www.movabletype.jp/beta/52/online.html
IDC FrontierCloud Servicehttp://www.idcf.jp/cloud/service/
IDC FrontierCloud Service XS Plan1 CPU0.5GB Memory5GB HDD                nginx (Port:80,443)               php-fpm / dynam...
IDC FrontierCloud Service XS Plan1 CPU0.5GB Memory5GB HDD                nginx (Port:80,443)               php-fpm / dynam...
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 FrontierCloud Service XS Plan1 CPU0.5GB Memory5GB HDD                nginx (Port:80,443)               php-fpm / dynam...
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 ...
Any questions?
Thank you for listening
Movable Type 5.2 Overview at MTDDC 2012
Movable Type 5.2 Overview at MTDDC 2012
Upcoming SlideShare
Loading in...5
×

Movable Type 5.2 Overview at MTDDC 2012

8,043

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
8,043
On Slideshare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • システム管理者は、ブログ・ウェブサイトの\n公開パスを特定のディレクトリ内に\n制限する事が出来ます。\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • ここまでで5〜7分程度が望ましい\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • ま、nginxだとCGI動かないからね\n
  • ま、nginxだとCGI動かないからね\n
  • \n
  • ま、nginxだとCGI動かないからね\n
  • ま、nginxだとCGI動かないからね\n
  • \n
  • ま、nginxだとCGI動かないからね\n
  • ま、nginxだとCGI動かないからね\n
  • \n
  • \n
  • ま、nginxだとCGI動かないからね\n
  • ま、nginxだとCGI動かないからね\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Movable Type 5.2 Overview at MTDDC 2012

    1. 1. MOVABLE TYPE 5.2 OVERVIEW (若干エンジニア目線) 2012.8.4 (Sat) YUJI TAKAYAMA Six Apart, Ltd.
    2. 2. it tra orlf pSe YUJI Takayama @yuji Software Engineer, Movable Type, Six Apart
    3. 3. NEW FEATURE‣ Rich Text Editor‣ Site Path Restriction‣ SMTP AUTH‣ tools/upgrade‣ Cloud
    4. 4. NEW FEATURE‣ Rich Text Editor‣ Site Path Restriction‣ SMTP AUTH‣ tools/upgrade‣ Cloud
    5. 5. TinyMCE Next session...
    6. 6. ちなみに・・・Lekumo ビジネスブログでもTinyMCEが利用可能になります Coming soon...
    7. 7. NEW FEATURE‣ Rich Text Editor‣ Site Path Restriction‣ SMTP AUTH‣ tools/upgrade‣ Cloud
    8. 8. NEW FEATURE‣ Rich Text Editor‣ Site Path Restriction‣ SMTP AUTH‣ tools/upgrade‣ Cloud
    9. 9. System Administrator can restricts publishing path
    10. 10. NEW CONFIGURATION DIRECTIVE BaseSitePath /path/to/site_root HideBaseSitePath [0 / 1]
    11. 11. NEW FEATURE‣ Rich Text Editor‣ Site Path Restriction‣ SMTP AUTH‣ tools/upgrade‣ Cloud
    12. 12. NEW FEATURE‣ Rich Text Editor‣ Site Path Restriction‣ SMTP AUTH‣ tools/upgrade‣ Cloud
    13. 13. ‣ 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
    14. 14. NEW CONFIGURATION DIRECTIVE SMTPAuth [0 / 1 / ssl / starttls] SMTPUser login username SMTPPassword login password SMTPPort port number
    15. 15. NEW FEATURE‣ Rich Text Editor‣ Site Path Restriction‣ SMTP AUTH‣ tools/upgrade‣ Cloud
    16. 16. NEW FEATURE‣ Rich Text Editor‣ Site Path Restriction‣ SMTP AUTH‣ tools/upgrade‣ Cloud
    17. 17. % perl tools/upgrade
    18. 18. 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).
    19. 19. 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]
    20. 20. NEW FEATURE‣ Rich Text Editor‣ Site Path Restriction‣ SMTP AUTH‣ tools/upgrade‣ Cloud
    21. 21. NEW FEATURE‣ Rich Text Editor‣ Site Path Restriction‣ SMTP AUTH‣ tools/upgrade‣ Cloud
    22. 22. Movable Typeon the Cloud
    23. 23. Run on...Windows AzureMovable Type Advanced Next session...
    24. 24. PSGI/Plack
    25. 25. Perl webServerGatewayInterface
    26. 26. “Plack is a set of tools for using the PSGIstack. It contains middleware components, a reference server and utilities for Webapplication frameworks. Plack is like Rubys Rack or Pythons Paste for WSGI.” cite: http://search.cpan.org/~miyagawa/Plack-1.0001/lib/Plack.pm
    27. 27. before Apache mod_cgi mod_perl mod_fcgi CGI mod_perl FastCGI Movable Type
    28. 28. after Apache mod_cgi mod_perl mod_fcgi Plack Movable Type
    29. 29. $ cpanm Task::Plack
    30. 30. Movable Type meets PSGI/Plack
    31. 31. ‣ mt.psgi / MT::PSGI‣ Auto mount applications‣ Graceful reloading‣ Support for plugins
    32. 32. ‣ mt.psgi / MT::PSGI‣ Auto mount applications‣ Graceful reloading‣ Support for plugins
    33. 33. 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
    34. 34. ‣ mt.psgi / MT::PSGI‣ Auto mount applications‣ Graceful reloading‣ Support for plugins
    35. 35. ‣ mt.psgi / MT::PSGI‣ Auto mount applications‣ Graceful reloading‣ Support for plugins
    36. 36. 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-mountapplications: 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 ~
    37. 37. ‣ mt.psgi / MT::PSGI‣ Auto mount applications‣ Graceful reloading‣ Support for plugins
    38. 38. ‣ mt.psgi / MT::PSGI‣ Auto mount applications‣ Graceful reloading‣ Support for plugins
    39. 39. Graceful reloading• reboot() method in MT::App=head2 $app->rebootReboot all MT instance. Now, this method sends SIGHUP to the process managerwhich specified by PIDFilePath config directive. If PIDFilePath isnt set, nosignals 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_config (settings) • Post save mt_field (custom fields)• Your plugin should call reboot method if you want to reload
    40. 40. NEW CONFIGURATION DIRECTIVE PIDFilePath /path/to/pid_file/filename
    41. 41. ‣ mt.psgi / MT::PSGI‣ Auto mount applications‣ Graceful reloading‣ Support for plugins
    42. 42. ‣ mt.psgi / MT::PSGI‣ Auto mount applications‣ Graceful reloading‣ Support for plugins
    43. 43. Support for plugin• If your plugin have an application, should set following attribute • script: Required, Subroutine reference that returns your scripts 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)
    44. 44. Sample config.yamlid: NewAppname: NewAppapplications: newapp: handler: NewApp::App script: > sub { MT->config->NewAppScript } cgi_path: > sub { MT->config->NewAppCGIPath; } methods: hello: $NewApp::NewApp::App::helloconfig_settings: NewAppCGIPath: default: /mt/test/ NewAppScript: default: new-app.cgi
    45. 45. Online Beta Trialhttp://www.movabletype.jp/beta/52/online.html
    46. 46. IDC FrontierCloud Servicehttp://www.idcf.jp/cloud/service/
    47. 47. IDC FrontierCloud Service XS Plan1 CPU0.5GB Memory5GB HDD nginx (Port:80,443) php-fpm / dynamic publishing handler Reverse Proxy Starman (Port:5000) PSGI Movable Type
    48. 48. IDC FrontierCloud Service XS Plan1 CPU0.5GB Memory5GB HDD nginx (Port:80,443) php-fpm / dynamic publishing handler Reverse Proxy Starman (Port:5000) PSGI Movable Type
    49. 49. Nginx“high-performance HTTP Server and reverse proxy”
    50. 50. Nginx ‣ Speed‣ Smart‣ Scalability‣ Super lightweight
    51. 51. Nginx ‣ Nginx does not serve CGI script by default‣ Nginx does not support .htaccess
    52. 52. Starman“high-performance preforking PSGI/Plack web server”
    53. 53. IDC FrontierCloud Service XS Plan1 CPU0.5GB Memory5GB HDD nginx (Port:80,443) php-fpm / dynamic publishing handler Reverse Proxy Starman (Port:5000) PSGI Movable Type
    54. 54. Starman‣ Launch PSGI application‣ Starman is reference implementation for Plack server
    55. 55. Dynamic Publishing Handler “.htaccess redirect handler for Dynamic Publishing”
    56. 56. Dynamic Publishing Handler‣ For Dynamic Publishing‣ Implemented by Six Apart‣ By Perl‣ Will be public, coming soon
    57. 57. 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
    58. 58. Any questions?
    59. 59. Thank you for listening
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×