サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ドラクエ3
www.powercms.jp
弊社の受託作業は、デザインとコーディングをいただいて CMS へ組み込むというものが多いです。 CMS 設計には、ディレクターがそれぞれ慣れたツールを使っています。 お客様にいただくこともあります。その際は PDF や Excel でいただくことが多いです。 私もそれらを真似してみたり、他の良いといわれるツールを試してきたのですが、これというツールに巡り会えずにここまできました。しかし、ここ数ヶ月は Adobe XD に落ち着いています。 Adobe XD とは Adobe XD はデザインからプロトタイプ作成・共有までをおこなうツールです。 Webサイトやモバイルアプリのデザインとプロトタイプの作成がひとつでできるとうたわれているものですが、私はこれで、プレゼン資料や仕様書を作っています。 といっても、本格的に使い始めたのは昨年の秋頃からなので、まだ2案件しかありませんが。 こういう使い
ファイル転送のご要望 PowerCMSは、静的なHTMLの生成を特長とするCMSです。 この特長はエンタープライズ用途では重要です。CMSをLAN内やアクセス制限のあるネットワーク内に配置し、そこで編集、内容を確認したWebコンテンツだけを公開側サーバーに転送する運用が実現可能で、コンテンツによっては、公開側に全くプログラム等を置かない構成が実現できるためです。 PowerCMSで、生成したWebコンテンツを公開側サーバーに転送する機能にはCopy2PublicまたはPowerSyncがあります。 他方で、Web制作案件を多く手掛け、 PowerCMSクラウドを展開する中で、これらの標準機能では実現できないようなご要望をいただくことがあります。 一例として: CMSで作成し確認したWebコンテンツを、複数の公開側サーバーにほぼ同時にコピーしたい(負荷分散構成など) 公開鍵認証のみ許可してい
アルファサードでは年に二回(6月と12月)、大阪本社で全社会議を行います。 今回は2016年12月16日金曜日に行われた全社会議をレポートします! どんな会議をやるの? 大阪本社に社員全員が集まり、それぞれ好きなテーマを考えてプレゼンします。 技術的なことを話す人もいれば、自己紹介や趣味のことを合間に話す人もいて、お題は基本的にフリーです。 でも今回はテーマが決まっていて、 「マネジメント、経営やリーダーシップ、コミュニケーション、プロジェクト管理、ソフトウェア開発などの書籍等を読んで、会議で共有したいこと、感じたことなどを入れる」 となりました。 あまり本を読まない私は、まず書籍を選ぶことから始まり、皆に何を伝えるべきか結構悩みましたね。 プレゼンの持ち時間は各自決まっていて、 メンバー(10分)、リーダー(15分)、事業部長(20分)、社長(1時間)となり、この順番で話していきます。
PowerCMS の ステージングサーバー連携機能 はサポートにてお客様から頻繁にお問い合わせ頂く機能の一つです。 この記事ではよくお問い合わせを頂く環境の例をとりあげ、その初期設定方法について解説します。 共通の準備 製品パッケージに同梱のオプションプラグイン Abs2Rel プラグインをインストールします。 例1. 公開環境とステージ環境とが同一サーバー上に存在し、ディレクトリをきって環境が区別されているケース 環境の詳細 同一サーバー上に公開環境とステージ環境が存在し、各々はディレクトリをきって環境を区別しています。 また、ドメインも各々の環境にサブドメインをふっています。 例として次表の構成を想定します。 ウェブサイトパス ドメイン CMS環境
Movable Type では run-periodic-tasks スクリプトを実行すると様々な処理をバックグラウンドで行うことができます。 バッググラウンドで行われる処理は Movable Type 標準のものもあればプラグインで追加したものなど様々です。 それらの中からいくつかピックアップしたものが下記になります。 処理の中にはプレビューファイルやセッションデータの削除などクリーンナップの処理も含まれますので日時指定の公開、非公開が必要ない運用でも、 run-periodic-tasks スクリプトは利用されることをおすすめします。 日時指定された記事(ページ)の公開 日時指定された記事(ページ)の非公開 日時指定されたリビジョンから記事(ページ)の更新 プレビュー時に生成されるファイルの削除 古いセッションデータの削除 日時指定されたステージ環境への同期 日時指定された公開環境への
Movable Type や PowerCMS は、主に Perl というプログラミング言語で開発されています。 Perl を習得することで各種プラグインの実装などができるようになりますが、GNU/Linux, Unix 環境で各種タスクをこなす際にも有用なプログラミング言語ですので、実例にも触れながら perl コマンドを使ったワンライナーの有用性について Tips を書きます。 製品サポートなどの様々な調査において個人的にも欠かせないツールとなっています。 申し送り事項 掲載されているサンプルは自己責任において、実行前に対象をバックアップするなどして慎重に実行ください。当記事に掲載されたコードを実行することによる問題については、いかなる場合においても一切の責任は負いかねます。 perl コマンド Perl プログラムは、 perl コマンドを使って実行することができます。 Perl プ
案件規模が拡大するにつれてテンプレートは肥大化していく傾向があると思います。 MTEntries 等のタグはMTタグの知識のある人であればどういう出力がなされるかを理解することができますが、テンプレート変数の MTLoop でのループ出力などはその変数をセットする処理を書いた人しか把握できていないことも多く、出力不具合の調査で該当箇所を探すところから始めないといけませんが、該当箇所がインクルードされたテンプレートにあるなど、そこで苦労することもあるのではないでしょうか。 変数を変更していいのかがわからないケース PowerCMS や先日公開した GetHashVar プラグインでは、テンプレート変数をダンプ出力するタグを提供していますが、他の人の書いたテンプレートを触る時、テンプレート変数の値を修正箇所で変更していいのかどうかがわからないという悩みを先日聞きました。 テンプレート変数を柔軟
MT や PowerCMS のテンプレートにおけるテンプレート言語 MTML(Movable Type Markup Language) では MTSetVarタグ等を用いて値を変数にセットすることができます。MTIfタグ や MTLoop タグ等のロジックも記述できるため、簡単なプログラム言語として処理を書くこともできます。 複雑なロジックはテンプレートに書かずにプラグインを書く ただ、やりすぎる? とせっかくのテンプレートエンジンなのに「この変数はどこでセットされているの?」「どこを修正するとどうなるの?」ということになりかねません。わかりやすくテンプレートコメントを入れることやわかりやすい変数名をつけることは大切ですが、このようなことを避けるためには、複雑なロジックはテンプレートに書かずにプラグインを書くことを検討するのが良いでしょう。つまり、ロジックはプログラムで、ビュー(見た目)
少し前に、Adobe Creative SDK を使った画像エディタの組み込みを行う記事が話題になっていました。 http://plus.appgiga.jp/masatolan/2015/07/29/56567/ これ当然 Movable Type にも組み込めますよね、ということでプラグインにしてみました。アイテム編集画面で、切り抜き、リサイズはもちろん、回転、スタンプ、テキスト挿入や各種フィルタ、赤目補正など多機能なエディタを使うことができます。 ダウンロード https://github.com/alfasado/mt-plugin-imageeditor 使い方 画像のアイテム編集画面に表示されるサムネイルの右下のエンピツのアイコンをクリックするとエディタが表示されます。 画像編集をエンジョイしたあと、保存ボタンを押すとアイテムが差し替えられます(「適用」ボタンで編集内容が画面上
先日(2015/05/30)開催された「Perl入学式 in 大阪 第1回」にて、アルファサードのセミナールームを会場として提供しました。 Perl入学式とは 以下、Perl入学式のサイトに掲載されている文の引用です。 Perl入学式は、2012年に大阪で始まったプログラミング初心者向けの勉強会です。 プログラミング言語「Perl」を題材に、1年を通して、環境構築から変数やデータ構造の取り扱い、そして簡単なウェブアプリケーションを作成するまでの学習を行います。 プログラミングの初心者でもきちんと内容を理解できるように、基礎をしっかり身につけながら、実用的なレベルまで進むことがコンセプトです。 勉強会ではスライドに写した教材を講師が解説し、受講生はその解説にもとづいた練習問題を自分のパソコンで解いていくという形式で進められます。 困った時には、複数人いるサポーターに聞けば疑問が解決するよう配
ブロックタグ MTEntries には、モディファイア field.foo="bar" を指定すると、カスタムフィールド foo の値が bar のもののみに絞り込む機能があります。ですが、この機能では「空でない」ものに絞り込むことができません。 例えば、 記事を日本語で作成しているが、たまに英語版を作成することがある。 英語版は顧客の希望により、日本語版と同じ編集画面で作成するので、タイトルや本文を入力する欄はカスタムフィールドで作成した。 英語版があるかどうかは、カスタムフィールド「英語版タイトル」に入力があるもの、というルールになっている。 といった状況で、 インデックステンプレートに、カテゴリ「サンプルカテゴリ」内の「英語版タイトル」を新しいものから3件表示したい というテンプレートを書こうとすると、ちょっとハードルが上がります。field.foo が「空でない」という条件で絞り込
※実行されるのは、正確には指定した時刻より後に最初に run-periodic-tasks が実行されるタイミングとなります。 毎週、毎月を指定する場合「詳細」欄に指定する曜日もしくは日を指定します。 毎週 : 日曜日 = 0, 月曜日 = 1, 火曜日 = 2, 水曜日 = 3, 木曜日 = 4, 金曜日 = 5, 土曜日 = 6 毎月 : 1〜31までの数字もしくは'LAST'が指定できます。 複数指定する場合は「,」(カンマ)で複数の値を区切ります。 定期的に特定のテンプレートを再構築するプラグインをMTMLで作成する バッチの用途で簡単に思いつくものと言えばテンプレートの再構築でしょうか。MT StudioであればMTタグで簡単に記述できます。 特定のページをURLを指定して再構築するには MTRebuildタグが利用できます。 MTRebuild url モディファイアと blo
※ こちらのプラグインは PowerStudio という新たな名前で PowerCMS 5 よりオプションプラグインとして同梱・提供しております。 この記事は Movable Type Advent Calendar 2014 の最終日の記事ではありません! MT Studio は Movable Type のプラグイン、定期バッチ、ウェブアプリケーション(MT::App)、代替テンプレート、テーブル定義と対応したリスティング画面、Data APIエンドポイント等を管理画面から作成し、リアルタイムにデバッグ、完成後にプラグインや代替テンプレートとしてエクスポートできるツールです。Perl、PHPでコードを書くこともできますが、MTタグ(MTML)を使って処理を定義することもできます。 ライセンス GPL v2.0 又はコマーシャルライセンス(デュアルライセンス) Movable Type
PowerCMS および、Movable Type ではリッチテキストエディタに TinyMCE を採用しています。(2014年12月現在) TinyMCE は、Microsoft Word(以降、単に Word と表記)などからペーストする際に、Word 固有のデータなどをクリーンアップする機能が標準で搭載されています。 その機能は TinyMCE の paste プラグインという形で提供されており、TinyMCE の「Wordから貼り付けボタン」などが paste プラグインで提供されているボタンになり、標準設定では、Word から、ショートカットキーの Ctrl + V や、右クリックで表示されるコンテキストメニューから貼り付けた場合も、「Wordから貼り付けボタン」をクリックした時と同様の処理が実行されるようになっているので、Word から貼り付けた HTML に不要な記述が含まれ
アルファサード株式会社(代表取締役社長:野田純生/本社大阪市、以下、「アルファサード」)は、CMSで管理するウェブページがアクセシビリティ「JIS X 8341-3:2016 高齢者・障害者等配慮設計指針-情報通信における機器,ソフトウェアおよびサービス-第3部:ウェブコンテンツ」(以下、「JIS X 8341-3」)達成基準に適合しているかどうかをチェックし、ウェブサイトの JIS X 8341-3 適合を支援する 「PowerCMS 8341※」の提供を12月1日(月)より開始します。 ※ PowerCMS または Movable Type(ver.6) が別途必要です。 リリースの背景 JIS X 8341-3:2010が公示されてから4年以上が経過しました。総務省のウェブサイトで公開されている「みんなの公共サイト運用モデル」でも、国及び地方公共団体等の公的機関においては2014年度
※ 2023/11/30 現在は AMI 提供を行っておりません。 Movable Type 6対応の PowerCMS 4 より、お客様がAmazon Web Services (AWS)環境においてより簡単にPowerCMS 4の稼働環境を構築いただけるよう、AMI (Amazon Machine Image)を提供いたします。 ※ 2017年6月現在、Webサーバーは Apache で構成しています。 Amazon Machine Image (AMI)とは Amazon Machine Image (AMI)とは、Amazon Web Services (AWS) において、クラウド内仮想サーバー機能を提供するAmazon Elastic Compute Cloud (Amazon EC2)のインスタンスを立ち上げる際のベースとなるものです。 AMIは、あらかじめ必要なソフトウェア
Movable TypeやPowerCMSに独自の管理画面を追加する場合や、プラグインによって一部の項目をカスタマイズする場合、もしくは alt-tmplに代替テンプレートを設置する場合に、管理画面のHTML/CSSのコンポーネントを用意しておくと便利だと思います。現在のところ、MTの管理画面のコンポーネントがまとまっているドキュメントが見当たりませんでしたので(ありましたらご教授くださいますと幸いです)、すべてではありませんが、よく使うパーツの指定方法や要素のクラス指定などについてまとめておきたいと思います。 サンプルプラグイン この記事で紹介するテンプレートのサンプルをプラグインにしました。 https://github.com/alfasado/mt-plugin-admin-screen-component 基本フレーム 標準ヘッダ、フッタ、左メニューの付いた画面を作るには、ヘッダ
HTML Tidy は、妥当ではない HTML文書を修正するプログラムです。とても有名なツールであり、歴史のあるツールでもありますが、手軽なHTMLチェックツールとしては現在も十分に有用です。 HTML TIDY で Web ページをお掃除する HTML を編集していると、思わぬ間違いを犯してしまうことがよくあります。 こういう間違いを自動的に修正して、適当に書いたマークアップをきれいに してくれる、簡単な方法があれば良いと思いませんか? そう、Hewlett Packard の Dave Raggett に感謝しましょう。HTML TIDY はそのための フリーなユーティリティです。また tidy は非常に読みづらい HTML 専用 エディタや変換ツールの出力するマークアップにもきわめて有効で、障害を 持つ人々に対するページのアクセシビリティを改善するため、どのような点 に注意を払う必要
PowerCMS のカスタムフィールドProで追加されるスニペット・カスタムフィールド (通称スニペットフィールド) では、テンプレートタグにより HTML や JavaScript、CSS を組み合わせて自由度の高い入力欄を設計することができますが、その中ではローカルのファイル選択欄 (<input type=file>) を使用してファイルをアップロードし、テンプレートでアイテムとして扱うこともできます。ここで、ファイル選択欄ではなく Movable Type 標準の「アイテム」フィールドのように、モーダルダイアログから新規アイテムを作成して使用したり、既存のアイテムから選択したりするための実装方法を紹介します。 ここでは例として、システムオブジェクト「ブログ記事」に種類が「スニペット」のカスタムフィールドを作成し、その中で2つのアイテム選択ダイアログを使用します。まず必須項目を次に示
サイトマップ(XML)とは、検索エンジンがサイト内をクロールする対象ページをサイト運営者が検索エンジンに知らせるためのファイルです。このファイルには最終更新日、更新頻度、ページのURL や優先度などを XMLに記述します。サイトマップを用意すると、検索エンジンがより正確にサイトをクロールできます。 Movable Type(PowerCMS)では、サイトマップXMLをインデックス・テンプレートとして作成する方法が一般的です。 サイトマップをMovable Type(PowerCMS)に追加する ウェブサイト(ブログ)の「デザイン」 - 「テンプレート」 インデックステンプレートを作成 テンプレート名を sitemap に、出力ファイル名を「sitemap.xml」にする テンプレートを作成して、再構築 Google ウェブマスター ツールから登録する サイトマップXML 用テンプレートを作
PowerCMS のテンプレートで使用できるテンプレートタグのリファレンスです。各タグの詳細ページでは、タグの種類や使用例などが確認できます。
※PowerCMS 3.14 からプラグインなしでカスタマイズ可能になりました。 Power CMS for MTのEnterprise版(Movable Type Advancedにバンドルのものを含む)にはオープンソースの全文検索エンジンHyper EstraierをMovable Typeから扱う検索システム(PowerSearchプラグイン)が含まれています。 Power CMS for MTのすべてのバージョンに含まれるSQL検索(AltSearch)と比較して下記のような特長があります。 キーワードに対する文書のマッチング順に検索結果を出力することができます PDF文書やCMSで管理していない文書を検索対象にすることができます 数万件単位の大量の文書もすばやく検索できます SQL検索(AltSearch)では標準でカテゴリのAND,OR指定ができますが、PowerSearchプ
Movable Type / PowerCMS で特定のアーカイブを出力したくないケースがあります。例えば以下のような条件指定がしたいとします。 特定のカテゴリ配下のブログ記事はトップページへのお知らせとして表示したいだけなので、ファイルは生成したくない(あるいはカスタムフィールドで分岐したい)。 特定のカテゴリ配下のブログ記事は、ニュースリリースのPDFファイルへのリンクだけを表示させたいので、ファイルは生成したくない(あるいはカスタムフィールドで分岐したい)。 トップレベルカテゴリのアーカイブのみ出力したい。サブカテゴリのアーカイブは出力したくない。 このような場合、Movable Typeのアーカイブマッピングを工夫してアーカイブの出力を抑制するような Tips があって、以下のような方法で実現しているケースを見かけます(EntryOutputFlagはカスタムフィールドで定義したタ
大規模なサイトの運用においては再構築にかかる負荷が高くなってくることはよくあることかと思います。MT5になってウェブサイト配下のブログをマルチブログでポータル的に扱うことで再構築トリガーを設定した結果、さらに重たくなるといったケースもあるでしょう。 とはいえ、管理画面にコンテンツを投入するユーザー側に負荷をかけまいとするあまりダイナミックパブリッシングを全面的に導入すると今度は複雑な構成であればあるほど(ブログをまたがったコンテンツを数多く表示するなど)ページの表示に時間がかかり、サイト閲覧側のパフォーマンスが確実に低下します。 静的生成の場合「どのタイミングで再構築をかければいいのかわからない」という問題があります。更新したのにページが変わりません→再構築してください→反映されました。といったやりとりが続いた後、とにかく更新したら全部再構築するんだ、という認識になり、そうすると今度は「待
昨今、これまで以上にWebサイト(管理画面ではなく公開側のサイト)のハイパフォーマンス向上について様々な情報を目にするようになりました。 従前のWebサイトでは、サイトのチューニングは主にサーバーサイドで取り組む課題が多かったのですが、Ajaxの普及やスマホアプリなどJavaScriptの多用によって、クライアントサイドの高速化やHTMLソース上の工夫等による高速化がより重要になってきました。 そこで、今回はMT/PowerCMSの設定やテンプレート、プラグインによってWebサイトを高速化するためのTipsについてまとめてみます。 Minifierプラグイン https://github.com/alfasado/mt-plugin-minifier Minifierプラグインは、HTML, JavaScript, CSSコードの圧縮、画像のExif情報の削除、コンテンツのgzip圧縮等の
はじめに PSGI は、Perl Web Server Gateway Interface の略で、Perl ウェブアプリケーションについて、個々のウェブサーバーに対応したコードを記述することなく、効率的に開発できるように規定したインターフェイスです。 従来の PowerCMS は、各種ウェブサーバーに対応したコードを記述していましたが、PowerCMS 3.2 以降では PSGI に正式に対応しており、要件にあわせて様々なウェブサーバーを活用できるようになりました。 PSGI に対応したアプリケーションは、PSGI サーバーという PSGI に準拠したウェブアプリケーションサーバーで動作します。加えて CGI アプリケーションと異なり、アプリケーションサーバー上に永続化して動作するため、レスポンスがよくなります。 PSGI サーバーの多くは、簡易的なウェブサーバー機能しか実装されていませ
PowerCMSは、ほぼすべての情報をデータベース(DB)に格納します。管理画面を利用する際にも、あるいは検索、フォームや会員サイトのサインアップなどにもDBは利用されます。 このため、PowerCMSにとってDBの設定は重要です。特に、DBのパフォーマンスはPowerCMSのパフォーマンスに大きな影響を与えます。ここでは、PowerCMSのDBとして多く利用されるMySQLを対象とした設定のポイントをご紹介します。 MySQLの設定の考慮点 MySQLの設定で注意すべき点は次の2つです。 ストレージ・エンジン パラメータ調整 このMySQLには、古くから使われてきたMyISAMとInnoDBという2つのメジャーなストレージエンジンがあります。 「MyISAMとInnoDBのどちらがよいのか」というFAQがありますが、クラッシュリカバリ性能やマルチCPUに対するスケールなどを考慮すると、少
MTMLでCookieをセット/クリアするプラグインを作成しました。また、先日紹介した MTIfCookieタグ(Cookieを利用してスマホビューとPCビューを切り替える(MTIfCookieタグ))ではクッキーの値によってテンプレートの出し分けが可能です。これらのプラグインを使えば JavaScriptやPHPのコードを書くことなく、MTタグのみでクッキーを操作できます。 https://github.com/alfasado/mt-plugin-set-cookie 以下の例では、クッキー"foo" に 値 "bar" をセットします(テンプレートのビルド処理時に処理を行いますので、必ずしもテンプレートの先頭に書く必要はありません)。 <MTSetCookie name="foo" value="bar"> オプションで以下のモディファイアを指定できます。 <MTSetCookie
PowerCMSでは、MTIfUserAgentタグを使ってUserAgent毎にテンプレートを切り替える方法が用意されていますが、スマートフォンからの閲覧時にもPC向けのビューを見せたい(ユーザーが選択して切り替えられるようにしたい)というケースがあると思います。このような場合、Cookieを用いてどちらのビューを選択するかを判別できるようにする方法が一般的かと思いますが、MTMLでクッキー情報を簡単に扱うことのできる MTIfCookie ブロックタグ(条件タグ)を作りました。 alfasado / mt-plugin-if-cookie - GitHub これまでも <mt:getCookie name="view_pc" setvar="view_pc"> のように一旦変数に入れることで Cookie によって分岐させることが可能でしたが、このプラグインにより、以下のような形式で
次のページ
このページを最初にブックマークしてみませんか?
『PowerCMS - カスタマイズする CMS』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く