متن باز https://drupalion.com/ fa AMP یا Accelerated Mobile Pages چیست؟ https://drupalion.com/node/2121 <span>AMP یا Accelerated Mobile Pages چیست؟</span> <span><a title="مشاهده نمایه کاربر." href="/user/50" lang="" about="/user/50" typeof="schema:Person" property="schema:name" datatype="">عرفان بناکار</a></span> <span>ج, 1395/10/10 - 00:16</span> <div class="uk-margin"><p>از زمان انتشار Google Accelerated Mobile Pages - <a href="https://www.ampproject.org" target="_blank">AMP</a> در آبان 94 در حال رصد این تکنولوژی هستیم تا بدانیم AMP‌ چیست؟ چطور کار میکنه؟ چرا به وجود آمده و چه زمانی باید از AMP‌ استفاده کنیم؟ در این مقاله سعی میکنیم به تعدادی از سوالات شما در این زمینه پاسخ بدیم. بنابراین ما رو تا پایان این مقاله همراهی کنید.</p> <h2>سرعت سایت مهم است:</h2> <p>یکی از نکات بسیار مهم در <a href="http://www.rahnemoon.com">طراحی سایت</a> توجه به سرعت سایت است. سرعت سایت میتواند یک تجارت رو به نابودی بکشونه. طبق تحقیقی که در این زمینه صورت گرفته فقط افزایش سرعت سایت به میزان یک ثانیه میتواند conversion Rate رو به <a href="https://www.soasta.com/blog/mobile-web-performance-monitoring-conversion-rate/" target="_blank">میزان 27 درصد و نرخ خروج یا bounce rate رو به میزان 56 درصد بهبود دهد</a>. بنابراین سرعت سایت تاثیر مستقیمی بر تجربه کاربری و اهداف تجاری داره.</p> <p>حالا یک نکته مهم را در نظر بگیرید. 39 درصد کاربران موبایل از مشاهده سایت ها در موبایل راضی نیستند. یعنی به طور میانگین از هر 5 نفر که با موبایل وب گردی میکنند 2 نفر از این موضوع راضی نیستند و وب گردی با موبایل را رضایت بخش نمیدانند.</p> <p>و جالب است بدانید که در حال حاضر <a href="http://www.emarketer.com/Article/2-Billion-Consumers-Worldwide-Smartphones-by-2016/1011694" target="_blank">حدودا 2 میلیارد تلفن هوشمند در دنیا وجود دارد</a> و در حال حاضر در کشورهایی مانند آمریکا تعداد مراجعه به وب سایت ها با استفاده از موبایل در حال پیشی گرفتن از کامپیوترهای رومیزی است.</p> <p>و طبق یک آمار دیگر 75<a href="https://content.akamai.com/PG2920-Performance-Matters.html" target="_blank"> درصد از کاربران موبایل معتقدند که سرعت سایت ها در موبایل پایین است</a> و 46 درصد از کاربران موبایل دیگر به سایت های با سرعت پایین سر نمیزنند.</p> <p>این آمارها بسیار قابل توجه هستند. حالا یکبار دیگه به این جمله دقت کنید که فقط افزایش حدودا یک ثانیه ای سرعت لود شدن سایت میتواند تجارت شما را نجات دهد.</p> <p>پس با بررسی آمارهای بالا یک نکته بسیار واضح میشه و آن اینکه آینده دنیای وب متعلق به موبایل های هوشمند است. بنابراین باید برای رفع مشکل سرعت سایت در موبایل ها راه حلی پیدا کرد.</p> <p>به دلیل اهمیت این موضوع شرکت های مختلف راهکارهای مختلفی در این زمینه ارائه دادند. فیس بوک تکنولوژی <a href="https://instantarticles.fb.com" target="_blank">Instant Article</a> را معرفی کرده و اپل روی <a href="https://www.apple.com/news/">Apple News</a> کار میکند. و گوگل <a href="https://www.ampproject.org">AMP</a> را معرفی کرده است. AMP‌ یک پروژه <a href="/taxonomy/term/114">متن باز</a> است که برای حل مشکل سرعت در موبایل به وجود آمده است.</p> <p><img alt="درباره AMP" src="/sites/default/files/u50/ampproject_design19blog_big.gif" style="height:338px; width:600px" /></p> <h2>چطور AMP‌ از سایت های مرسوم سریع تر است؟</h2> <p>حالا که میدونیم AMP بر روی افزایش سرعت سایت در تلفن های همراه تمرکز کرده باید بدونیم چطور میخواهد سرعت سایت رو افزایش بده. بدین منظور AMP قوانین سفت و محکمی رو در نظر گرفته. پایه و اساس این قوانین عبارتند از:</p> <p><strong>فقط اسکریپت های نا همگام یا async:</strong><br /> اسکریپت های ناهمگام آنهایی هستند که با تقدم و تاخر در سایت لود میشوند. مثلا بعد از لود کامل صفحه اجرا میشوند. تمام این اسکریپت ها توسط AMP‌ بلاک میشوند.<br /> ساده تر اینکه به طور کلی AMP‌ امکان استفاده از javascript ها رو به شما نمیده. فقط اسکریپت هایی میتوانند در صفحه لود شوند که توسط خود AMP‌ با در نظر گرفتن سرعت آماده شده باشند. اسکریپت هایی مانند گوگل آنالیتیکز و فیس بوک و توئیتر و یوتیوب از این دسته هستند.</p> <p>اسکریپت های خارجی هم فقط به صورت Iframe میتونن به صفحه اضافه بشن اون هم فقط یکبار. اسکریپت هایی مانند google ads از این دسته هستند.</p> <p><strong>منابع باید حتما دارای ابعاد باشند:</strong><br /> اجزا مانند عکس ها و iframe ها حتما باید دارای اندازه و ارتفاع باشند تا AMP بتواند سایز آنها رو قبل از دانلود بداند.</p> <p><strong>عدم اجازه به هیچ چیز در جهت رندر شدن صفحه:</strong><br /> این قانون خیلی ساده است. هیچ چیز نباید باعث توقف رندر شدن صفحه شود. المان های خارجی در Ifram ها قرار میگیرند و AMP&nbsp; بدون اهمیت به محتوای Iframe ها آنها رو در صفحه لود میکند.</p> <p><strong>CSS ها باید به صورت inline و با حجم مشخص استفاده شود:</strong><br /> بر خلاف سایت های مرسوم که معتقدند فایل های css باید در درون html لینک شوند در AMP شما ملزم به استفاده از inline CSS ها هستید. دلیل این موضوع نیز مانند اسکریپت هاست. در زمان لود صفحه باید همه اجزایی که برای لود صفحه لازم هستند به صورت هم زمان لود شوند. برای اطمینان از کارکرد صحیح CSS ها حجم آنها نباید بیشتر از 50 کیلوبایت باشد.</p> <p><strong>فونت ها باید به صورت کارآمد لود شوند</strong>:<br /> وب فونت ها میتوانند خیلی بزرگ باشند و گاها تاثیر مخربی بر روی سرعت سایت دارند. در یک موقعیت عادی مرورگرها دانلود فونت ها رو تا زمان دانلود CSS و اسکریپت ها به تعویق می اندازند. و این زمان زیادی را برای دانلود فونت ها تلف میکند.</p> <p>در AMP اسکریپت ها به صورت هم زمان لود میشوند و css ها نیز به صورت inline نوشته میشوند بنابراین مرورگها برای دانلود فونت ها منتظر نمیمانند.</p> <p><strong>انیمیشن ها تنها در پردازنده های گرافیکی قابل اجرا هستند:</strong></p> <p>برخی از انیمیشن ها نیاز دارند تا قالب بندی صفحه را تغییر دهند تا اینکه این فعالیت را در پردازنده گرافیکی انجام دهند. AMP انیمیشن ها رو محدود میکند به Transform و Opacity بنابراین به تغییر قالب بندی صفحه نیاز نیست و انیمیش ها در پردازنده گرافیکی اجرا میشوند در نتیجه سرعت افزایش پیدا میکند.</p> <p><strong>اولویت بندی در لود منابع صفحه:</strong><br /> AMP دانلود منابع صفحه را بهینه سازی میکند به طوری که اجزای مهم تر زودتر لود میشوند. تصاویر نیز فقط در صورت دانلود میشوند که کاربر آنها را مشاهده کرده باشد.</p> <p><strong>صفحات در یک لحظه لود میشوند:</strong><br /> منابع صفحه که توسط کاربر مورد استفاده قرار گرفته واکشی اولیه میشود که این موضوع تاثیر مهمی در سرعت دارد.به صورت ساده تر اجزایی در صفحه که قبلا توسط کاربر مشاهده شده است برای استفاده های بعدی واکشی اولیه میشود.</p> <h2>اجزای AMP</h2> <p>در AMP‌ تعدادی تغییر بر روی HTML های استاندارد و CSS و JavaScript ها انجام شده تا سرعت را افزایش دهد:</p> <p><a href="https://www.ampproject.org/learn/about-amp/#amp-html"><strong>AMP HTML</strong></a>: در این بخش تگ های HTML قرار دارند که به وسیله خصوصیات AMP گسترش پیدا کرده اند.</p> <p><a href="https://www.ampproject.org/learn/about-amp/#amp-js"><strong>AMP JS</strong></a>: یک کتابخانه برای اطمینان از رندر شدن سریع تر صفحات AMP</p> <p><a href="https://www.ampproject.org/learn/about-amp/#amp-cdn"><strong>AMP CDN</strong></a>: برای بارگذاری موثر صفحات AMP‌ از طریق HTTP 2</p> <p><img alt="AMP چیست" src="/sites/default/files/u50/1447266704NYT-The-Martian.jpg" style="height:422px; width:600px" /></p> <h2>گام های تبدیل یک صفحه HTML مرسوم به AMP:</h2> <p>در صورتی که تصمیم دارید از AMP‌ استفاده کنید باید تعدادی کار را انجام دهید که در <a href="https://www.ampproject.org/docs/get_started/create/basic_markup">چک لیست</a> مشخص شده است. اما به صورت خلاصه برای تبدیل یک صفحه HTML مرسوم به AMP‌ باید قدم های زیر را بردارید</p> <p>1- افزودن amp به تگ HTML</p> <pre> <code class="language-markup"> <html amp lang="en"> </code></pre> <p>2- افزودن المان لینک استاندارد</p> <pre> <code class="language-markup"> <link rel="canonical" href="index.html"> </code></pre> <p>3- تغییر انکودینگ به UTF-8</p> <pre> <code class="language-markup"> <meta charset="utf-8"> </code> </pre> <p>4- افزودن تگ viewport</p> <pre> <code class="language-markup"> <meta name="viewport" content="width=device-width,minimum-scale=1"> </code> </pre> <p>5- افزودن اسکریپت CDN مرتبط با AMP در پایین تگ &lt;head&gt;</p> <pre> <code class="language-markup"> <script async src="https://cdn.ampproject.org/v0.js"></script> </code> </pre> <p>6- تغییر تمام تگ های &lt;img&gt; به &lt;amp-img&gt; و افزودن width و height به تصاویر</p> <pre> <code class="language-markup"> <amp-img src="http://farm4.staticflickr.com/3595/3288866270_23cb40f37c_b.jpg" alt="Crashed plane vintage photo" height="1024" width="734"></amp-img> </code> </pre> <p>پیشنهاد میشود به تصاویر خصوصیت placeholder را نیز اضافه کنید به این صورت:</p> <pre> <code class="language-markup"> <amp-anim src="animated.gif" width=466 height=355 layout="responsive" > <amp-img placeholder src="preview.png" layout="fill"></amp-img> </amp-anim> </code> </pre> <p>7- حذف تگ های &lt;link&gt; برای css ها و inline کردن تمام آنها با استفاده از تگ &lt;styleamp-custom&gt;</p> <p>&nbsp;</p> <h2>آناتومی صفحات AMP:</h2> <p>در زیر یک صفحه ساده AMP را مشاهده میکنید:</p> <pre> <code class="language-markup"> <!doctype html> <html amp lang="en"> <head> <meta charset="utf-8"> <link rel="canonical" href="__CANONICAL_URL__" > <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"> <style>body {opacity: 0}</style> <noscript> <style>body {opacity: 1}</style> </noscript> <style amp-custom> __YOUR_OWN_CSS__ </style> <script async src="https://cdn.ampproject.org/v0.js"> </script> </head> <body> Your actual content. </body> </html> </code> </pre> <p>همینطور که میبینید style ها صورت inline css در فایل استفاده شده و اسکریپت های غیر همگام در CDN ها قرار گرفته اند. و ما تگ viewport ولینک استاندارد canonical را داریم.</p> <p>&nbsp;</p> <h2>سوال و جواب های AMP:</h2> <p><strong>چطور میتوانم کدهای AMP HTML را اعتبارسنجی یا Validate کنم؟</strong></p> <p>اعتبار سنجی کدها با استفاده از ابزار Google chrome Dev tools قابل انجام است. به این طریق که با اضافه کردن هشتگ #development=1 به انتهای URL این کار انجام میشود.</p> <p>&nbsp;</p> <p><strong>استفاده از صفحات AMP چه مزیتی در سئو دارند؟</strong></p> <p>همینطور که در بالا دیدیم نسخه های AMP یک نسخه مرتبط با صفحه HTML هستند. بدین صورت موتورهای جستجو هر دو صفحه را لیست نمیکنند. زمانی که کاربر با موبایل در حال جستجو است صفحات AMP برای کاربر نمایش داده میشوند. در صورتی که دوست دارید درباره ارتباط AMP و <a href="http://www.iranseo.com">سئو</a> بیشتر بدانید به مطلب نوشته شده توسط <a href="https://majidabed.ir/%D8%A2%DB%8C%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-amp-%D8%B3%D8%A6%D9%88-%D8%AA%D8%A7%D8%AB%DB%8C%D8%B1-%D8%AF%D8%A7%D8%B1%D9%87%D8%9F/">مجید عابد</a> مراجعه کنید. یا به مطلب مفید و جالب AMP و تاثیر آن بر سئو در سایت <a href="http://www.iranseo.com/news/77/"> ایران سئو </a> مراجعه کنید.</p> <p>&nbsp;</p> <p><strong>چطور یک ویدئو به صفحه اضافه کنم؟</strong></p> <p>تگ &lt;video&gt; در HTML5 با المان amp-video جایگزین شده است. مثلا برای نمایش ویدئو های یوتیوب در صفحه شما باید افزونه youtube را اضافه کنید. و چن نمایش ویدئو به صورت یک اسکریپت غیرهمگام است شما باید این اسکریپت را در تگ &lt;head&gt; و با استفاده از CDN لود کنید. مانند کد زیر:</p> <pre> <code class="language-markup"> <script async custom-element="amp-youtube" src="https://cdn.ampproject.org/v0/amp-youtube-0.1.js"> </script> </code> </pre> <p>اگر شما میخواهید یک ویدئوی واکنش گرا را به سایت اضافه کنید باید نسبت طول و ارتفاع را با نرخ 16:9 به سایت اضافه کنید مانند کد زیر:</p> <pre> <code class="language-markup"> <amp-youtube data-videoid="SqT0glwuYYo" layout="responsive" width="480" height="270"> </amp-youtube> </code> </pre> <p>&nbsp;</p> <p><strong>آیا کامپوننت های دیگری هم در دسترس است؟</strong></p> <p>کامپوننت های AMP به دو دسته 1- موجود در هسته و 2- افزونه های تقسیم بندی میشوند. کامپوننت های موجود در هسته با فراخوانی اولیه اسکریپت AMP به صفحه شما اضافه میشوند و افزونه ها را باید به صفحه اضافه کنید. همینطور که در بالا دیدیم یوتیوب یک افزونه بود که به صفحه اضافه شد.</p> <p><a href="https://github.com/ampproject/amphtml/tree/master/builtins">لیست فعلی کامپوننت های موجود در هسته</a> به شرح ذیل است:</p> <ul> <li>amp-ad: برای نمایش تبلیغات در صفحه</li> <li>amp-img: یک کامپوننت برای جایگزین کردن تگ &lt;img&gt; در HTML</li> <li>amp-pixel: برای دنبال کردن تعداد مشاهده صفحات</li> <li>amp-video: برای جایگزین کردن تک &lt;video&gt; در HTML</li> </ul> <p><a href="https://github.com/ampproject/amphtml/tree/master/extensions">لیست فعلی افزونه ها</a> نیز به شرح ذیل است:</p> <ul> <li>amp-anim: برای مدیریت انیمیشن های تصاویر که بیشتر با فرمت gif مورد استفاده قرار میگیرند.</li> <li>amp-audio: برای جایگزین کردن تگ &lt;audio&gt; در HTML</li> <li>amp-carousel: برای نمایش قطعات مشابهی از محتوا</li> <li>amp-fit-text: بزرگ و کوچک کردن فونت محتوا برای هم اندازه شدن محتوا در فضایی که موجود است.</li> <li>amp-iframe: برای نمایش Iframe ها</li> <li>amp-image-lightbox: اجازه استفاده از ابزارهایی برای نمایش عکس به صورت پاپ آپ</li> <li>amp-instagram: برای نمایش بلوک تصاویر اینستاگرام</li> <li>amp-lightbox: برای نمایش lightbox یا نمایش محتوا در حالت پاپ آپ</li> <li>amp-twitter: نمایش یک توئیت از توئیتر</li> <li>amp-youtube: نمایش ویدئوها از یوتیوب</li> </ul> <p><strong>چطور میتوانم یک تبلیغ را با استفاده از سرویس Google Adsense نمایش دهم؟</strong></p> <pre> <code class="language-markup"> <amp-ad width="300" height="200" type="adsense" data-ad-client="ca-pub-1234567890123456" data-ad-slot="1234567890"> </amp-ad> </code> </pre> <p>کامپوننت amp-ad برای این منظور استفاده میشود. کد زیر یک نمونه از این کار را نشان میدهد. فراموش نکنید که پارامترهای <span style="background-color:Lime">data-ad-client</span> و <span style="background-color:Lime">data-ad-slot</span> را با مقادیر مختص خودتان جایگزین کنید:</p> <p>در حال حاضر سرویس های A9 , Adreactor, Adsense, Adtech و doubleclick با استفاده از این کامپوننت پشتیبانی میشوند.</p> <p>&nbsp;</p> <p><strong>جطور میتوانم بازدیدکنندگان سایت را با استفاده از سرویس google analytics رهگیری کنم؟</strong></p> <p>رهگیری بازدیدکنندگان با استفاده از <a href="https://github.com/ampproject/amphtml/blob/master/builtins/amp-pixel.md">کامپوننت amp-pixel</a> قابل انجام است. برای استفاده از این سرویس نمونه کد زیر میتواند به شما کمک کند:</p> <pre> <code class="language-markup"> <amp-pixel src="https://ssl.google-analytics.com/collect?v=1 &tid=UA-12345678-1&t=pageview&cid=__CID__ &dt=__PAGE_TITLE__&dl=__PAGE_URL__ &z=__RANDOM_STRING__"> </amp-pixel> </code> </pre> <p>پارامترهای CID و Page title و Page url و z را با مقادیر مناسب جایگزین کنید.</p> <h2>بررسی سرعت در AMP:</h2> <p>سایت های مهمی مانند روزنامه گاردین یا buzzfeed در حال حاضر از تکنولوژی&nbsp; AMP استفاده میکنند. با استفاده از <a href="http://www.webpagetest.org">webpagetest</a> صفحات این سایت ها را در هر دو حالت AMP و حالت عادی بررسی کردیم</p> <p>3g<br /> <a href="www.webpagetest.org/video/compare.php?tests=151031_9B_HXZ-r%3A1-c%3A0%2C151031_NF_J00-r%3A1-c%3A0" target="_blank"><img alt="بررسی سرعت AMP" src="/sites/default/files/u50/3g.png" style="height:200px; width:600px" /></a></p> <p>3g fast<br /> <a href="https://www.webpagetest.org/video/compare.php?tests=151031_7G_JCX-r%3A1-c%3A0,151031_FY_JCZ-r%3A1-c%3A0" target="_blank"><img alt="بررسی سرعت AMP" src="/sites/default/files/u50/3gfast.png" style="height:161px; width:600px" /></a></p> <p>اینترنت کابلی<br /> <a href="https://www.webpagetest.org/video/compare.php?tests=151031_H8_JQV-r%3A1-c%3A0%2C151031_E9_JR0-r%3A1-c%3A0" target="_blank"><img alt="بررسی سرعت AMP" src="/sites/default/files/u50/cable.png" style="height:161px; width:600px" /></a></p> <p>بدون در نظر گرفتن نوع اینترنت<br /> <a href="https://www.webpagetest.org/video/compare.php?tests=151031_8J_JT9-r%3A1-c%3A0%2C151031_GT_JTA-r%3A1-c%3A0" target="_blank"><img alt="بررسی سرعت AMP" src="/sites/default/files/u50/nonetwork.png" style="height:200px; width:600px" /></a></p> <p>صفحات عادی دارای 34 درخواست HTTP هستند اما این تعداد در نسخه AMP به 13 عدد کاهش پیدا کرده است. نسخه AMP همیشه سریع تر شروع به رندر کردن صفحه میکند. و همیشه صفحه حدود نیم ثانیه زودتر لود شده است. و گاهی لود کامل صفحه در نسخه AMP قبل از شروع لود صفحه در نسخه عادی به پایان رسیده است. ( در حالت 3G و اینترنت کابلی )</p> <p>شما هم میتوانید با استفاده از همین ابزار نسخه سایت طراحی شده خودتان را چک کنید.</p> <p>برخی از سایت های معتبر که از تکنولوژی AMP استفاده میکنند:</p> <p>همیشه داشتن نمونه ها میتوانند به ما کمک کنند که در استفاده از یک تکنولوژی چگونه عمل کنیم.در زیر یک لیست کوتاه از سایت های معتبری که در حال حاضر از این تکنولوژی استفاده میکنند را مشاهده میکنیم:</p> <ul> <li>روزنامه گاردین <a href="http://www.theguardian.com/science/2015/oct/06/mars-photos-the-martian-movie-nasa">نسخه HTML</a> / <a href="https://amp.theguardian.com//science/2015/oct/06/mars-photos-the-martian-movie-nasa">نسخه AMP</a></li> <li>واشینگتن پست <a href="https://www.washingtonpost.com/lifestyle/style/six-ways-the-martian-subverts-expectations/2015/10/05/6bba4d42-6873-11e5-8325-a42b5a459b1e_story.html">نسخه HTML</a> / <a href="https://www.washingtonpost.com/amphtml/lifestyle/style/six-ways-the-martian-subverts-expectations/2015/10/05/6bba4d42-6873-11e5-8325-a42b5a459b1e_story.html">نسخه AMP</a></li> <li>روزنامه El Pais <a href="http://economia.elpais.com/economia/2015/10/04/actualidad/1443971365_887425.html">نسخه HTML</a> / <a href="http://amphtml.googleusercontent.com/amphtml/pages/CAIiEAleCrkFZu7TQ6qalp_SjFcqGAgEKg8IACoHCAowp5WhCTC1s3EwnPOOAw">نسخه AMP</a></li> <li>روزنامه Folha de São Paulo <a href="http://www1.folha.uol.com.br/ilustrada/2015/10/1700162-com-2-album-rock-psicodelico-do-boogarins-amplia-sucesso-fora-do-pais.shtml">نسخه HTML</a> / <a href="http://m.folha.uol.com.br/amp/ilustrada/2015/10/1700162-com-2-album-rock-psicodelico-do-boogarins-amplia-sucesso-fora-do-pais.shtml">نسخه AMP</a></li> <li>روزنامه&nbsp; La Stampa&nbsp; <a href="http://www.lastampa.it/2015/10/14/scienza/tuttoscienze/scattata-la-corsa-per-marte-e-non-c-soltanto-la-nasa-wizfUBQ6Ox0PgrOHfZmxDJ/pagina.html">نسخه HTML</a> / <a href="http://www.lastampa.it/2015/10/14/scienza/tuttoscienze/scattata-la-corsa-per-marte-e-non-c-soltanto-la-nasa-wizfUBQ6Ox0PgrOHfZmxDJ/amphtml/pagina.amp.html">نسخه AMP</a></li> <li>روزنامه New York Times <a href="http://www.nytimes.com/2015/10/26/business/media/virtual-reality-has-liftoff-from-fox-innovation-lab.html">نسخه HTML</a> / <a href="http://mobile.nytimes.com/2015/10/26/business/media/virtual-reality-has-liftoff-from-fox-innovation-lab.amp.html">نسخه AMP</a></li> <li>وب سایت The Atlantic <a href="http://www.theatlantic.com/politics/archive/2015/10/a-short-history-of-whether-obama-is-black-enough-featuring-rupert-murdoch/409642/">نسخه HTML</a> / <a href="https://amp.gstatic.com/v/the-atlantic-amphtml.googleusercontent.com/amphtml/pages/CAIiEGZTcFZtopP7g7u5imKTZxYqFAgEKg0IACoGCAowm_EEMKAiMPtZ?amp_js_v=0">نسخه AMP</a></li> </ul> <h2>آیا AMP چیزی شبیه Twitter Bootstrap است؟</h2> <p>شاید بعد از خواندن این مقاله فکر کرده باشید که AMP ممکن است چیزی شبیه <a href="http://getbootstrap.com/">Twitter Bootstrap</a> باشد. این تصور خیلی اشتباه نیست با این تفاوت که در بوت استراپ همه چیز آماده شده تا شما با اضافه کردن کلاس ها صفحات خود را چیدمان کنید اما در AMP کدهای آماده ای وجود ندارد و در نهایت شما باید کدهای مرتبط با پروژه خود را بنویسید.</p> <p>اما توجه داشته باشید که تمرکز AMP بر روی موبایل است و شاید طراحی یک وب سایت فقط با استفاده از AMP خیلی منطقی نباشد. در نهایت این شما هستید که تشخیص میدهید که در کدام پروژه و به چه میزان از این تکنولوژی استفاده کنید اما متاسفانه یا خوشبختانه دیر یا زود باید به سمت AMP بروید چون این تکنولوژي در رتبه بندی نتایج <a href="http://www.rahnemoon.com">جستجو در گوگل</a> از اهیمت بالایی برخوردار خواهد شد.</p> <p>شاید شما قبلا از این تکنولوژی در پروژه های خود استفاده کرده باشید. وب سایت های طراحی شده و تجربیات خودتان در استفاده از AMP را با ما به اشتراک بگذارید.</p> </div> <div> <div>تگ های مطلب</div> <div> <div class="uk-margin"><a href="/taxonomy/term/3732" hreflang="en">بررسی سرعت AMP</a></div> </div> </div> <div> <div>دسته بندی مطلب</div> <div> <div class="uk-margin"><a href="/taxonomy/term/114" hreflang="en">متن باز</a></div> </div> </div> <section> </section> Thu, 29 Dec 2016 20:46:16 +0000 عرفان بناکار 2121 at https://drupalion.com https://drupalion.com/node/2121#comments 10+1 دلیل که باید از دروپال استفاده کنیم https://drupalion.com/node/2120 <span>10+1 دلیل که باید از دروپال استفاده کنیم</span> <span><a title="مشاهده نمایه کاربر." href="/user/50" lang="" about="/user/50" typeof="schema:Person" property="schema:name" datatype="">عرفان بناکار</a></span> <span>ش, 1395/09/06 - 10:23</span> <div class="uk-margin"><p>امروزه تعداد سیستم‌ها و فریم ورک‌‌ها برای ایجاد یک وب سایت یا یک نرم افزار تحت وب بسیار زیاد است. به طوری که هر کدام از این سیستم ها و فریم ورک ها در زمینه های متعددی استفاده میشوند. اما در این مقاله تصمیم داریم بررسی کنیم که چرا دروپال یک سیستم بسیار مناسب برای انجام بازه وسیعی از نیازهاست. با این مقاله همراه باشید تا دلایل این موضوع را با هم بررسی کنیم.</p> <p>1- <strong>دروپال صرفا یک سیستم مدیریت محتوا نیست</strong>: قبلا در یک مطلب به صورت مفصل در این رابطه صحبت کردیم که <a href="http://drupalion.com/blog/132">دروپال یک فریم ورک مدیریت محتواست</a>. این یعنی شما میتونید با <a href="http://drupalion.com/taxonomy/term/139">دروپال</a> سیستم مدیریت محتوای خودتون رو ایجاد کنید. تغییرات مد نظر خودتون رو اعمال کنید و در نهایت جریان نشر محتوا رو به شکلی که دوست دارید مدیریت کنید. ماژول های موجود در دروپال و به صورت کلی ساختار کلی دروپال نیز بر همین پایه تنظیم شده اند.</p> <p>2- <strong>دروپال ماژول های زیادی دارد</strong>: تعداد ماژول های موجود برای دروپال قطعا زیاده. شاید تعداد این ماژول ها به اندازه مثلا <a href="http://drupalion.com/blog/73">وردپرس</a> نباشه. اما این به این معنی نیست که تعداد ماژول های کمتر به معنی امکانات کمتره. در دروپال ماژول هایی مانند views، rules، panels هر کدام قابلیت های بسیار بسیار زیادی را به دروپال اضافه میکنند. بنابراین وقتی کیفیت و کارایی ماژول های دروپال را در نظر بگیریم اختلاف ناچیز تعداد <a href="http://drupalion.com/tags/%D9%85%D8%A7%DA%98%D9%88%D9%84-%D8%AF%D8%B1%D9%88%D9%BE%D8%A7%D9%84">ماژول های دروپال</a> و مثلا وردپرس اصلا دیده نمیشه بلکه هر نگاه منصفی تائید میکنه که هماهنگی و گستردگی ماژول های دروپال به یک نقطه قوت بزرگ برای دروپال تبدیل شده است.</p> <p>3- <strong>طراحی قالب در دروپال آسان است</strong>: در دروپال <a href="http://drupalion.com/%D8%AF%D8%B1%D9%88%D9%BE%D8%A7%D9%84/%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-%D8%AF%D8%B1%D9%88%D9%BE%D8%A7%D9%84">طراحی قالب</a> با استفاده از قالب های پایه موجود در دروپال به سادگی انجام میشود. قالب های پایه در دروپال این اجازه را به شما میدهند که بر اساس آنها قالب مورد نظر خودتون رو طراحی کنید. الیته شاید شما بخواهید از پایه یک قالب طراحی کنید که در این صورت نیز با کمی مطالعه میتوانید به سادگی قالب مورد نظر خودتون رو طراحی کنید.</p> <p>4- <strong>دروپال جامعه کاربری فعالی دارد</strong>: هیمنطور که در <a href="http://drupal.org">سایت دروپال</a> هم اعلام شده در حال حاضر فقط حدود 105 هزار نفر توسعه دهنده دروپال هستند. این آمار خیره کننده به این معنیه که دروپال هر روز در حال تکمیل شدنه. هر روز قابلیت های جدیدی به اون اضافه میشه و شما در صورتی که سوالی داشته باشید تعداد آدم های بسیار زیادی هستند که به شما کمک میکنند و شما را راهنمایی میکنند. آمار فوق فقط تعداد توسعه دهنده های دروپاله. چند و احتمالا چند ده برابر این آمار استفاده کنندگان دروپال هستند که در نهایت رشد دروپال را تضمین میکنند. در ایران نیز دروپال کارها به شکل فعالانه در راستای توسعه دروپال تلاش میکنند.</p> <p>5- <strong>مستندات دروپال بسیار زیاد است</strong>: همینطور که در بالا بررسی کردیم تعداد توسعه دهندگان و استفاده کنندگان دروپال بسیار زیاده. بنابراین میتوانیم مطمئن باشیم که مستندات بسیار زیادی برای دروپال ایجاد شده. خود سایت دروپال پر است از مستندات مختلف برای آموزش برنامه نویسی و <a href="http://drupalion.com">طراحی سایت با دروپال</a>. با این حال سایت های زیادی ویدئوهای آموزشی و مقالات آموزشی دروپال را تهیه میکنند. به طوری که تقریبا هر سوالی که برای شما پیش بیاید قبلا توسط یک متخصص دروپال پاسخ داده شده است.</p> <p>6- <strong>ماژول نویسی در دروپال استاندارد است</strong>: دروپال مخصوصا در نسخه 8 کاملا به صورت استاندارد طراحی شده است. روش توسعه دروپال بسیار استاندارد است و ماژول نویسی در دروپال به لطف استفاده از شی گرایی و استفاده از برخی کتابخانه های فریم ورک سیمفونی بسیار قانون مند است. این موضوع باعث شده که طراحان علاقه مند به برنامه نویسی به دروپال جذب میشوند.</p> <p>7- <strong>دروپال به راحتی اجرا میشود</strong>: با این همه قابلیت که در بالا اشاره شد دروپال برای اجرا شدن به سخت افزار یا منابع سیستمی زیادی احتیاج ندارد. دروپال بر روی اکثر هاست های اشتراکی قابل اجراست و از این بابت هزینه‌ای بر دوش علاقه مندان به دروپال تحمیل نمیکند. حتی شما با استفاده از ابزارهایی مانند wamp یا xampp میتوانید به راحتی دروپال را بر روی سیستم خود اجرا کنید.دروپال با دیتابیس‌های زیادی نیز کار میکند. mysql, mariadb, postgresql, OracleDB, SQL Server تنها نمونه هایی از پایگاه داده هاییست که دروپال بر روی آنها قابل اجراست.</p> <p>8- <strong>دروپال متن باز است</strong>: شاید مهم ترین دلیل استفاده از دروپال را باید <a href="http://drupalion.com/%D9%85%D8%AD%D8%AA%D9%88%D8%A7/%D9%85%D8%AA%D9%86-%D8%A8%D8%A7%D8%B2">متن باز</a> بودن دروپال عنوان کرد. همین خاصیت دروپال است که باعث جذب بیش از 100 هزار توسعه دهنده شده است. و این تعداد توسعه دهنده است که باعث پیشرفت سریع دروپال است. توسعه دهندگان دروپال با علاقه ای که به پیشرفت این سیستم داشته اند در راستای توسعه و پیشرفت هر چه بیشتر دروپال گام برداشته اند. بنابراین دروپال اگر امروز در این حد مورد توجه و موفق است یک دلیل بسیار مهم دارد و آن اینکه دروپال متن باز است.</p> <p>9- <strong>دروپال برای سئو بهینه است</strong>: دروپال در طراحی خود نکات لازم جهت <a href="http://www.iranseo.com">سئو</a> را تا حد زیادی رعایت کرده است. گرچه سئو علاوه بر نکات فنی در طراحی سایت به تولید محتوا و عوامل بیرونی نیز بسیار مرتبط است اما دارندگان سایت های دروپالی معمولا یکی از دلایل انتخاب دروپال را سئو خوب دروپال عنوان میکنند.</p> <p>10- <strong>هزینه طراحی سایت با دروپال منطقی است</strong>: دروپال به دلیل قدرتمند بودن و هم چنین توسعه دهندگان فعال قیمتی منطقی در طراحی دارد. با در نظر گرفتن قدرت دروپال و قابلیت هایی که در نهایت در اختیار دارنده سایت دروپالی قرار میگیرد <a href="http://www.rahnemoon.com">قیمت طراحی سایت</a> با دروپال کاملا منطقی است.</p> <p>11- <strong>دروپال بسیار امن است</strong>: دروپال همیشه در بین سیستم های و فریم ورک های مدیریت محتوا به امن بودن زبانزد بوده است. شاید به همین دلیل است که حدود 25 درصد از دامنه های gov یا دامنه های مربوط به دولت آمریکا از دروپال به عنوان نرم افزار مدیریت سایت خود استفاده میکنند. سایت کاخ سفید نمونه مهمی از سایت های طراحی شده با دروپال است. در ایران نیز سایت پلیس فتا با دروپال طراحی شده است.</p> <p>دلایل فوق تنها تعدادی از دلایل استفاده از دروپال است. شاید شما به دلیلی متفاوت از دروپال استفاده میکنید. در این صورت دلایل خود را با ما به اشتراک بگذارید. اگر تا کنون از دروپال استفاده نکرده اید پیشنهاد من به شما این است که چه به عنوان طراح سایت یا چه به عنوان استفاده کننده از خدمات سایت یکبار هم از دروپال استفاده کنید تا به قدرت این نرم افزار بیش از پیش آگاه شوید.</p> </div> <div> <div>دسته بندی مطلب</div> <div> <div class="uk-margin"><a href="/taxonomy/term/107" hreflang="en">آموزش دروپال</a></div> <div class="uk-margin"><a href="/taxonomy/term/114" hreflang="en">متن باز</a></div> <div class="uk-margin"><a href="/taxonomy/term/139" hreflang="en">دروپال</a></div> <div class="uk-margin"><a href="/taxonomy/term/151" hreflang="en">دروپال فارسی</a></div> <div class="uk-margin"><a href="/taxonomy/term/111" hreflang="en">طراحی دروپال</a></div> </div> </div> <section> </section> Sat, 26 Nov 2016 06:53:29 +0000 عرفان بناکار 2120 at https://drupalion.com یک جنگ واقعی. دروپال، وردپرس، جوملا https://drupalion.com/node/73 <span>یک جنگ واقعی. دروپال، وردپرس، جوملا</span> <span><a title="مشاهده نمایه کاربر." href="/user/50" lang="" about="/user/50" typeof="schema:Person" property="schema:name" datatype="">عرفان بناکار</a></span> <span>ج, 1395/07/16 - 17:22</span> <div class="uk-margin"><p><strong>مقایسه دروپال و وردپرس و جوملا</strong>،‌ بالاخره من هم به دام این جنگ افتادم. نمیشه یک طراح بود و هر روز نخوای در مورد مزیت های این سیستم ها به مشتری ها توضیح ندی. این جنگیه که همه ما درگیرشیم. اما خوشبخانه این جنگ کسی رو بیخانمان نکرده. اما این جنگ خیلی شفاف نیست بیشتر بحث ها احساسی هستند و معمولا به نتیجه درستی نمیرسند. در این مقاله بررسی میکنیم که کدام سیستم مدیریت محتوا بهتر است؟<br /> قرار نیست علاقه مندان به دروپال بعد از خوندن این مقاله به جوملا مهاجرت کنن یا وردپرس کارها احساس کنند خدای آنها دروپاله. ما 3 گلادیاتور داریم. <a href="http://drupal.org/">دروپال</a> ، <a href="http://www.joomla.org/">جوملا</a> و <a href="http://wordpress.org/">وردپرس</a>. برای یک جنگ تمام عیار آماده باشید.<br /> قانون این جنگ اینه که همه چیز رو از بعد فنی بررسی میکنیم. اما در نهایت این نویسندست که تمام تصمیم ها رو میگیره. این مطلب بروزرسانی شد.</p> <p><strong>این مطلب با بررسی دروپال 8، وردپرس 4 و جوملا 3 بروزرسانی شد.</strong></p> <p><strong>1- مستندات</strong></p> <p><strong>وردپرس</strong> یک آشفته بازاره. شما نمیتونین چیز بدربخوری پیدا کنید البته اگر چیزی پیدا کنید. سایت وردپرس داکیومنت ها رو به ندرت بروزرسانی میکنه و اگر شما به چیزی نیاز دارید باید به کد رجوع کنید و اون رو بفهمین. بهترین قسمت انجمن ها هستند. ممکنه به شما کمکی بکنه.<br /> <strong>دروپال</strong> در این قسمت بهتره. شما معمولا مستندات خوبی در مورد چیزهایی که میخواهید پیدا میکنید. بله عالی نیست اما بد هم نیست.<br /> <strong>جوملا</strong> از وردپرس هم اوضاع بدتری داره. شما چیزیکه میخواید رو شرح میدید و اونها پاسخ میدند اما در نهایت چیزی که واقعا بدست میارید هیچه. این فقط شما هستید که باید به سوالها پاسخ بدید. انجمن ها برای سوالات تخصصی تر و مشکل تر پاسخی ندارند و شما در تاریکی اسیر میشید.</p> <p>امتیازها:<br /> وردپرس: 5 از 10<br /> دروپال: 7 از 10<br /> جوملا: 4 از 10</p> <p><strong>2- پشتیبانی از چندزبانگی</strong><br /> <strong>وردپرس</strong> از چندزبانگی پشتیبانی نمیکند.کاری که میتونین بکنین اینه که تمام اطلاعات رو در یک پایگاه داده دیگه ذخیره کنید و از یک قالب دیگه برای نمایش اونها استفاده کنید. روش دیگه هم استفاده از پلاگین (<a href="wpml.org">WPML</a>) هست که این کار رو برای شما انجام میده.<br /> در<strong> دروپال 8</strong> شما فقط باید یک ماژول رو در هسته فعال کنید. چندزبانگی آماده میشه. بعد از این مرحله شما میتونید تمام محتواهاتون رو به زبان های دیگه از طریق رابط کاربری دروپال ترجمه کنید. این کار به ساده ترین شکل ممکن اتفاق می افته.<br /> در <strong>جوملا</strong> امکان چندزبانگی فراهم شده و برای چند زبانه شدن سایت نیاز به نصب افزونه های دیگر نیست بلکه باید از ماژول های در هسته استفاده کنید. اما به صورت کلی چند زبانگی در جوملا نسبت به دروپال پیچیده تر خواهد بود.</p> <p>امتیازها:<br /> وردپرس: 3 از 10<br /> دروپال: 9 از 10<br /> جوملا: 8 از 10</p> <p><strong>3- کدنویسی / یادگیری پیچ و خم ها</strong><br /> <strong>وردپرس</strong> یک procedural framework است. برای افزودن قابلیت های جدید باید از هوک (<a href="http://en.wikipedia.org/wiki/Hooking" title="هوک چیست">Hook</a>) ها استفاده کنید گرچه شما مجبور به کدنویسی به شیوه procedural نیستید. میتونین از OOP برای کدنویسی استفاده کنید اما احساسی که در نهایت به شما دست خواهد داد استفاده از یک فریم ورک ناقص است. وردپرس در نسخه جدید بیشتر سعی کرده از قابلیت های OOP استفاده کنه. در این زمینه موفقیت هایی نیز داشته اما هنوز وردپرس بر اساس مدل MVC کار نمیکنه.<br /> <strong>دروپال</strong> در نسخه 8 کاملا از مدل MVC پشتیبانی میکنه. یک فریم ورک کامل در زمینه OOP‌ هست. از بسیاری از کتابخانه های پرکاربرد استفاده میکنه و در این زمینه پیشرفت بسیار محسوسی داشته.<br /> اما <strong>جوملا</strong> در این زمینه متفاوته. شما احساس کار با یک فریم ورک حرفه ای رو خواهید داشت. شاید اولین <a href="http://en.wikipedia.org/wiki/Content_management_system" title="cms چیست">CMS </a>هست که به شکل واقعی از شیوه کدنویسی <a href="http://en.wikipedia.org/wiki/Object-oriented_programming" title="oop چیست">OOP </a>استفاده میکنه. کد نویسی در جوملا لذت بخش تره.</p> <p>امتیازها:<br /> وردپرس: 5 از 10<br /> دروپال: 7 از 10<br /> جوملا: 7 از 10</p> <p><strong>4- قابلیت های اضافه</strong></p> <p><img alt="drupal" src="/sites/default/files/u50/drupal.jpg" style="height:160px; width:240px" /></p> <p>در <strong>وردپرس</strong> قابلیت های اضافه توسط <a href="http://wordpress.org/extend/plugins/" title="پلاگین وردپرس">پلاگین </a>ها به سیستم شما اضافه میشوند. تعداد زیادی از اونها وجود داره و تقریبا هر چیزی که تصورش رو بکنید پیدا خواهید کرد. مشکلی که در پلاگین های وردپرس وجود داره اینه که معمولا پلاگین ها به صورت جامع یک فرآیند رو پاسخ نمیدن. بلکه هر کدام از اونها صرفا یک وظیفه ثابت رو به عهده میگیرن بنابراین چنانچه شما قصد تغییر در روند استفاده از یک پلاگین داشته باشید با سختی مواجه خواهید شد.<br /> در <strong>دروپال </strong> شما <a href="http://drupal.org/project/modules" title="ماژول دروپال">ماژول </a>ها رو دارید. اونها واقعا کارآمد هستند. یکی از مزیت های ماژول های دروپال اینه که معمولا ماژول ها خروجی مورد نظر برای استفاده در دیگر ماژول ها رو نیز فراهم میکنن. به صورتی که بعد از نصب یک ماژول میتونید نحوه نمایش و جریان کاری موجود در این ماژول رو با استفاده از ماژول های دیگر مدیریت کنید.<br /> در <strong>جوملا </strong> به اونها پلاگین، کامپوننت و ماژول میگن. بله میدونم کامپوننت های محبوب چیزی شبیه ماژول ها در دروپال یا پلاگین ها در وردپرس هستند. و ماژول ها شبیه بلوک ها در دروپال هستند.</p> <p>امتیازها: وردپرس: 8 از 10<br /> دروپال: 10 از 10<br /> جوملا: 6 از 10</p> <p><strong>5- رابط کاربری مدیریت</strong><br /> <strong>وردپرس </strong>یک محیط بسیار کارآمد و ساده داره. همه چیز به صورت مرتبی چیده شده و شما به راحتی هر چیزی رو که میخواهید پیدا میکنید.<br /> <strong>دروپال</strong> رو اینطور میشه ترسیم کرد: شتر با بارش گم میشه. همه چیز با هم در چند منو قرار گرفتند که احتمال اینکه چیزی رو گم کنید خیلی زیاده. در نسخه 8 دروپال سعی شده با استفاده از قابلیت های جدید تا حدی محیط مدیریتی دروپال ساده تر و کارآمد تر باشه. با اینکه هنوز دروپال در این زمینه به سادگی وردپرس و جوملا نیست اما به نظر میرسه تلاش صورت گرفته تا حدی موفق بوده است.<br /> <strong>جوملا </strong>یک رابط چموش داره. گاهی اوقات لذت میبرید از این رابط کابری اما گاهی برای پیدا کردن یک چیز باید کمی بگردید و در آخر جایی پیداش میکنین که انتظار نمیره. اما به طور کلی قابل قبوله.</p> <p>امتیازها:<br /> وردپرس: 9 از 10<br /> دروپال: 7 از 10<br /> جوملا: 8 از 10</p> <p><strong>6- توابع کمک کننده / HTML</strong><br /> <img alt="joomla" src="/sites/default/files/u50/joomla.jpg" style="height:240px; width:164px" /><br /> <strong>وردپرس </strong>هیچ پشتیبانی از شی های HTML نمیکنه. شما اگر نیاز به یک لیست کشویی داشته باشید هیچ راهی جز نوشتن کدهای HTML از ابتدا ندارید.<br /> <strong>دروپال </strong> قراردادن چیزی شبیه یک گرید (grid) در صفحات واقعا زجرآوره. شما در نهایت موفق به انجام این کار خواهید شد اما بعد از تمام شدن کار حتما ریش هاتون رشد کرده.<br /> در <strong>جوملا </strong> شما مقدار زیادی کمک دارید. شما میتونید یک گرید (grid) در صفحه خودتون با میزان کمی کدنویسی ایجاد کنید.</p> <p>امتیازها:<br /> وردپرس: 4 از 10<br /> دروپال: 7 از 10<br /> جوملا: 8 از 10</p> <p><strong>7- جذابیت عمومی</strong></p> <p><img alt="wordpress" src="/sites/default/files/u50/wordpress.jpg" style="height:240px; width:180px" /></p> <p><strong>وردپرس </strong> در این جنگ شبیه یک عروس زیباست. وردپرس ویژگی های ساده و پیشرفته زیادی داره که ممکنه در نگاه اول به اونها پی نبرید. وردپرس زیبا و تمیزه.<br /> <strong>دروپال </strong>در نگاه اول درهم ریخته است. همه قالب ها به نظر خیلی حجیم میرسند. شما باید کار زیادی انجام بدید تا وب سایت شما خیلی حرفه ای به نظر برسه.<br /> <strong>جوملا </strong>به نوعی مخلوطی از دروپال و وردپرس است. از موقع نصب شما احساس میکنید که در حال دیدن یک قالب حرفه ای هستید. اما همه چیز کمی توی ذوق میزنه.</p> <p>امتیازها: وردپرس: 9 از 10<br /> دروپال: 5 از 10<br /> جوملا: 7 از 10</p> <p><strong>8- ترجمه متن ها</strong><br /> <strong>وردپرس </strong>و دروپال هر دو از یک روش استفاده میکنند. شما از تابعی شبیه _e یا _ استفاده میکنید و وردپرس ترجمه آن رو در جایی که لازمه به شما نشان میده.<br /> در دروپال شما باید یک ماژول دیگه نصب کنید. یک فایل PO بسازید و شروع به ترجمه متن خودتون بکنید. تمام متن هایی که شما میخواهید ترجمه کنید در تابعی شبیه t(‘Translate me’) قرار گرفته اند. نمیشه گفت دروپال در این زمینه خیلی راحته.<br /> اما <strong>جوملا</strong> روند ترجمه واقعا خوبه. تمام چیزی که لازم دارید اینه که متن صریح خودتون رو در تابعی شبیه (‘THIS_IS_THE_TEXT’) بنویسید و بعد در فایل ini جداگانه متن خودتون رو ترجمه کنید.</p> <p>امتیازها: وردپرس: 6 از 10<br /> دروپال: 7 از 10<br /> جوملا: 9 از 10</p> <p><strong>9- پشتیبانی از پایگاه های داده</strong><br /> وردپرس فقط از <a href="http://www.mysql.com/">Mysql </a>پشتیبانی میکنه اما به نظر میرسه برای پشتیبانی از postgresql <a href="https://codex.wordpress.org/Using_Alternative_Databases">برنامه هایی</a> داره.<br /> دروپال با Mysql و <a href="http://www.postgresql.org/">PostgreSQL </a>کار میکنه. درایورهای بسیار بیشتری در ماژول های دروپال آماده شده که شما میتوانید از آنها استفاده کنید. به طور مثال شما میتوانید دروپال رو روی SQL Server یا اوراکل نیز نصب کنید.<br /> جوملا از mysql و postgresql پشتیبانی میکنه. اما هنوز <a href="http://joomla.stackexchange.com/questions/688/can-i-use-postgresql-with-joomla-3-3">مشکلاتی</a> در پشتیبانی از postgresql داره.</p> <p>امتیازها: وردپرس: 4 از 10<br /> دروپال: 9 از 10<br /> جوملا: 7 از 10</p> <p><strong>10- API های داخلی</strong><br /> <strong>وردپرس </strong>خیلی در این زمینه خوب نیست. در ضمن مستندات ضعیف رو هم در نظر یگرید به طوری که قبل از شروع شما باید ساعت ها به نحوه استفاده <a href="http://en.wikipedia.org/wiki/Application_programming_interface?utm_source=www.domtail.com" title="api چیست">API </a>ها مشغول باشید.<br /> استفاده از API ها در <strong>دروپال </strong>کمی با دردسر همراهه اما شما از مستندات و مثال های خیلی خوبی برخوردار هستید.<br /> <strong>جوملا </strong>در این زمینه راحت تره اما شما یک استاد خبره در اختیار ندارید.</p> <p>امتیازها: وردپرس: 6 از 10<br /> دروپال: 7 از 10<br /> جوملا: 7 از 10</p> <p><strong>11- <a href="http://en.wikipedia.org/wiki/Unit_testing" title="واحد تست چیست">واحد تست</a></strong><br /> <strong>وردپرس </strong>توضیحات خوبی برای ایجاد یک واحد تست داره. شما ممکنه بخواهید یک اسکریپت یا پلاگین رو قبل از اضافه کردن به سایتتون بررسی و تست کنید. اینکار در وردپرس توسط <a href="http://www.phpunit.de/manual/3.6/en/">PhpUnit </a>انجام میشه.<br /> در <strong>دروپال 8 </strong>نیز شما میتوانید از phpunit برای تست ماژول ها استفاده کنید.<br /> <strong>جوملا </strong>از PhpUnit استفاده میکنه. کاری که شما باید انجام بدید اینه که آخرین ورژن از اون رو دانلود کنید و در پوشه test قرار بدید و کدهای خودتون رو در آنجا بنویسید.</p> <p>امتیازها:<br /> وردپرس: 9 از 10<br /> دروپال: 9 از 10<br /> جوملا: 9 از 10</p> <p><strong>12- پشتیبانی از تارخ شمسی</strong></p> <p><strong>وردپرس</strong> در این زمینه بسیار خوب عمل کرده. البته بعضی قسمت ها هنوز در زمینه نمایش تاریخ شمسی مشکل دارند اما به لطف وردپرس کاران ایرانی در این زمینه وردپرس بسیار عالی عمل کرده.</p> <p><strong>دروپال</strong> راه حل خوبی برای نمایش تاریخ شمسی یا هر تاریخ دیگری داره. اما در حال حاضر ماژول هایی که تاریخ شمسی رو در دروپال 8 نمایش میدهند کامل نشدن. در صورت کامل شدن این ماژول ها میشه گفت دروپال به دلیل استفاده از php intl در نهایت برای نمایش تاریخ شمسی بهینه تر خواهد بود.</p> <p><strong>جوملا</strong> نیز مانند وردپرس پشتیبانی خوبی از تاریخ شمسی به عمل میآورد.</p> <p>امتیارها:<br /> وردپرس: 8 از 10<br /> دروپال: 6 از 10<br /> جوملا: 8 از 10</p> <p><strong>12- کی پشتیان آنهاست؟</strong><br /> <strong>وردپرس </strong>دارای مجوز <a href="http://www.gnu.org/copyleft/gpl.html">GPL </a>v2 است که توسط Matt Mullenweg و Mike Little ایجاد شده. و الان خیلی به شرکت Automattic وابستست.<br /> دروپال یک پروژه متن باز و جامعه محور است که توسط Dries Buytaert نوشته شده که ایشون در حال حاضر لیدر این جامعه هست.<br /> جوملا دارای مجوز GNU هست که در اصل یک پروژه مشتق شده از MAMBO هست.</p> <p><strong>امتیازهای کلی</strong><br /> وردپرس: 76 از 120<br /> دروپال: 90 از 120<br /> جوملا: 88 از 120</p> <p><strong>شما باید کدام رو انتخاب کنید و چرا</strong><br /> <strong>وردپرس </strong>در نسخه های جدید اذعا میکنه که دیگه مثل قدیم فقط یک سیستم مختص وبلاگ نیست. اما باید گقت این ادعا هنوز کاملا صحت نداره و هنوز بیشترین تمرکز وردپرس بر روی وبلاگ هاست. شما در نهایت به محدودیت های اون پی میبرید. البته ممکنه در نسخه های بعدی به یک CMS بیشتر شبیه بشه. شما با وردپرس میتونین یک وبلاگ حرفه ای با یک رابط کاربری مدیر خوب و زیبا داشته باشید.<br /> پیشنهاد من اینه که سعی نکنین آرزوهای خودتون رو با وردپرس انجام بدید. واقعیت اینه که به یادگیری اون نمی ارزه. شما انتخاب های خیلی بهتری دارید. پس اون رو ساده نگه دارید. اگر به یک سیستم ساده و بی دردسر نیاز دارید از وردپرس استفاده کنید. اما به یک سیستم حرفه ای و کاملا سفارشی شده نیاز دارید به سراغ سیستم های دیگه برید و با توسعه وردپرس خودتون رو به کشتن ندید.</p> <p><strong>دروپال </strong>واقعا یک انتخاب عالی است.اگر نیازهاتون رو خیلی خوب میدونید دروپال برای شما عالیست. شما به یک کدنویس PHP مسلط به دروپال نیاز دارید. شما نمیتوانید شروع به نصب اون کنید و امیدوار باشید تمام کارها رو برای شما انجام بده.<br /> منحنی یادگیری شما در دروپال بسیار سریع تر خواهد بود و تمام این ها به خاطر هسته بسیار قوی دروپال است. تنها مشکلی که وجود داره اینه که ممکنه این سیستم کمی در ابتدا زیبا نباشه. یک منوی بزرگ با هزاران تنظیمات و چند ده هزار ماژول مختلف. اگر خیلی حوصله یادگیری ندارید و یا با اصول اولیه وب و تنظیمات وب سرور آشنایی ندارید از این سیستم استفاده نکنید.</p> <p><strong>جوملا </strong>یک سیستم عالیست. این CMS واقعیست که خیلی خوب کار میکنه.کاربری این سیستم راحته. از زمان نصب تا موقع انتشار یک مقاله شما ممکن است هیجان زده شوید و حیرت کنید. شما یک CMS ساده و قوی دارید که تا وقتی نخواهید کارهای خیلی سفارشی شده ای انجام دهید به نیازهای شما پاسخ خواهد داد.اما انجمن های جوملا در مقایسه با دروپال ضعیف تر هستند.</p> <p>شاید بعد از خواندن این مقاله با خودتون فکر کنید که در یک <a href="http://drupalion.com" title="دروپال">وب سایت دروپالی</a> نباید نتیجه ای جز بهتر بودن دروپال حاصل میشد. کمی به شما حق میدم اما من تمام تلاشم رو برای یک مقایسه منصفانه کردم.</p> <p>شما هم نظرات خودتون رو با ما در میان بزارید. شما از چه <strong>CMS</strong> هایی استفاده میکنید؟ کدام رو بهتر میبینید؟</p> <p><strong>در همین زمینه بخوانید:</strong> <a href="/node/132" title="دروپال">دروپال یک سیستم مدیریت محتوا نیست</a></p> </div> <div> <div>تگ های مطلب</div> <div> <div class="uk-margin"><a href="/taxonomy/term/134" hreflang="en">مقایسه دروپال</a></div> <div class="uk-margin"><a href="/taxonomy/term/135" hreflang="en">وردپرس و جوملا</a></div> <div class="uk-margin"><a href="/taxonomy/term/136" hreflang="en">وردپرس و دروپال</a></div> <div class="uk-margin"><a href="/taxonomy/term/137" hreflang="en">جوملا و دروپال</a></div> <div class="uk-margin"><a href="/taxonomy/term/3722" hreflang="en">مقایسه دروپال 8 با وردپرس 4</a></div> <div class="uk-margin"><a href="/taxonomy/term/3723" hreflang="en">مقایسه دروپال 8 با جوملا 3</a></div> <div class="uk-margin"><a href="/taxonomy/term/3724" hreflang="en">مقایسه حوملا 3 با وردپرس 4</a></div> </div> </div> <div> <div>دسته بندی مطلب</div> <div> <div class="uk-margin"><a href="/taxonomy/term/114" hreflang="en">متن باز</a></div> <div class="uk-margin"><a href="/taxonomy/term/139" hreflang="en">دروپال</a></div> </div> </div> <section> </section> Fri, 07 Oct 2016 13:52:59 +0000 عرفان بناکار 73 at https://drupalion.com https://drupalion.com/node/73#comments تغییر چرخه انتشار در دروپال 8 https://drupalion.com/node/2117 <span>تغییر چرخه انتشار در دروپال 8</span> <span><a title="مشاهده نمایه کاربر." href="/user/50" lang="" about="/user/50" typeof="schema:Person" property="schema:name" datatype="">عرفان بناکار</a></span> <span>س, 1394/09/10 - 12:02</span> <div class="uk-margin"><p>قبلا در مورد <a href="/node/2116" title="دروپال 8">دروپال 8 و قابلیت‌های اون</a> صحبت کردیم. اما یکی از چیزهایی که در این مورد نگفتیم تغییر در چرخه انتشار دروپال 8 به بعده. از این به بعد دروپال به سبک گذشته منتشر نخواهد شد و تغییراتی در نحوه انتشار اون به وجود خواهد آمد. پس با ما همراه باشید تا با این تغییرات آشنا بشیم و از الان بدونیم که <a href="/taxonomy/term/139" title="دروپال">دروپال</a> نسخه بعد در چه زمانی منتشر میشه.</p> <p>دروپال در نسخه 7 و قبل از اون از سیستم نسخه گذاری دو سطحی استفاده میکرد. یعنی دروپال رو به شکل 7.x شماره گذاری میکرد که در حال حاضر دروپال در نسخه 7.41 قرار داره. این روش چند ایراد بزرگ داشت:</p> <ul> <li>- روش نسخه گذاری دروپال خیلی با بقیه نرم افزارها هماهنگ نبود.</li> <li>- کاربران با دیدن نسخه منتشر شده متوجه میزان اهمیت تغییرات نمیشدند.</li> <li>- امکان زمانبندی و نظم بخشیدن به انتشارهای جدید بسیار سخت بود.</li> </ul> <p>به همین دلیل تیم توسعه دهنده دروپال تصمیم گرفته از نسخه 8 روش نسخه گذاری رو عوض کنه و از یک روش استاندارد به نام <a href="http://semver.org/">semantic versioning</a> استفاده کنه. روش <a href="http://semver.org/">سمانتیک ورژنینگ</a> یک روش استاندارد در نسخه گذاری رو پیشنهاد میکنه که الان بسیاری از نرم افزارها در دنیا از همین روش برای توسعه استفاده میکنند. برای آشنایی بیشتر با این روش نسخه گذاری میتونید به <a href="https://drupalize.me/videos/semantic-versioning">ویدئویی که در این زمینه</a> منتشر شده رجوع کنید. اما اگر بخوام خیلی خلاصه در مورد این روش توضیح بدم باید بگم که:</p> <p><strong>روش سمانتیک ورژنینگ</strong> پیشنهاد میکنه انتشار نسخه های جدید رو در سه سطح تقسیم کنید:</p> <ul> <li>- سطح اول: یا نازل ترین سطح که به اون نسخه <strong>patch</strong> میگیم. یعنی زمانی که یک یا چند patch بر روی نرم افزار میزنیم.</li> <li>- سطح دوم: این سطح رو نسخه <strong>minor</strong> مینامیم. بعضی ها هم این سطح رو نسخه feature میگن. یعنی زمانی که تغییرات در نرم افزار در سطح کلان تری انجام میشه و قابلیت های جدیدی به این نسخه اضافه شدند.</li> <li>- سطح سوم: سطح نسخه <strong>major</strong>. یعنی زمانی که هسته نرم افزار دچار تغییرات گسترده میشه و تغییرات اونقدر بزرگه که در نسخه minor قرار نمیگیره.</li> </ul> <p>دروپال هم از نسخه 8 برای توسعه از روش سمانتیک ورژنینگ استفاده میکنه. برای درک بهتر روش و چرخه انتشار دروپال 8 به عکس زیر توجه کنید:</p> <p><img alt="" src="/sites/default/files/u50/original_release_schedule.png" style="height:426px; width:635px" /><br />                             <span style="font-size:11px"> **توجه کنید در عکس بالا نسخه ها و اطلاعات برای مثال نوشته شده**</span></p> <p> </p> <ul> <li dir="rtl"><span style="font-size:12px"><span style="font-size:14px">- نسخه patch یا (8.0.1 یا 8.0.2) هر ماه منتشر خواهد شد. همراه با آدرس باگ هایی که رفع شده اند.</span></span></li> <li dir="rtl"><span style="font-size:12px"><span style="font-size:14px">- نسخه minor یا (8.1.0 یا 8.2.0) در بازه‌های زمانی 6 ماهه منتشر میشوند.همراه با معرفی قابلیت‌‌های جدید.</span></span></li> <li dir="rtl"><span style="font-size:12px"><span style="font-size:14px">- در موارد نادر که یک باگ بسیار مهم رفع شده باشد و امکان صبر تا انتشار نسخه minor بعدی وجود نداشته باشد ممکن است دروپال یک انتشار برنامه ریزی نشده برای نسخه minor داشته باشد که فقط شامل همان رفع باگ خواهد بود. در این صورت حتما از طریق سایت دروپال اطلاع رسانی های لازم انجام خواهد شد.</span></span></li> <li dir="rtl"><span style="font-size:12px"><span style="font-size:14px">- آخرین نسخه minor منتشر شده در نسخه 8 نسخه LTS یا با پشتیبانی طولانی خواهد بود.</span></span></li> <li dir="rtl"><span style="font-size:12px"><span style="font-size:14px">- درپال 9.0.x در همان نزدیکی نسخه LTS دروپال 8 منشعب خواهد شد. البته ممکن است این اتفاق قبل از نسخه LTS دروپال 8 هم اتفاق بیفته که این موضوع به میزان کارهای باقیمانده در هر دو انشعاب بستگی دارد. بعد از انتشار دروپال 9.0.0 از همان روش patch/minor دروپال 8 برای دروپال 9 نیز استفاده خواهد شد.</span></span></li> <li dir="rtl">- نسخه LTS دروپال 8 به صورت کامل تا 3 ماه بعد از انتشار نسخه LTS دروپال 9 پشتیبانی خواهد شد. این پشتیبانی شامل BUG FIx و Security Fix خواهد بود. بعد از آن دروپال 8 تا 3 ماه بعد از انتشار دروپال 10 فقط Security Fix رو دریافت خواهد کرد و بعد از این 3 ماه دیگر از دروپال 8 توسط انجمن دروپال پشتیبانی به عمل نخواهد آمد. در حال حاضر در مورد اینکه Security Fix تا مدتی بیش از 3 ماه توسط انجمن پشتیبانی شود به نتیجه ای نرسیدند و احتمالا زمان پشتیبانی همان 3 ماه خواهد ماند.</li> </ul> <p><strong>تاریخ‌های کلیدی:</strong></p> <table border="0" cellpadding="1" cellspacing="1" style="width:100%"> <tbody> <tr> <td>اولین چهارشنبه هر ماه میلادی</td> <td>انتشار نسخه رفع باگ دروپال‌ های 8، 7 و 6</td> </tr> <tr> <td>سومین چهارشنبه هر ماه میلادی</td> <td>انتشار نسخه رفع خطای امنیتی دروپال های 8 , 7 و 6</td> </tr> <tr> <td>19 نوامبر سال 2015</td> <td>انتشار دروپال 8</td> </tr> <tr> <td>تاریخی که مشخص خواهد شد</td> <td>شروع توسعه نسخه 8.1</td> </tr> <tr> <td>24 فوریه 2016</td> <td>پایان زندگی دروپال 6 - از این تاریخ به بعد دروپال 6 پشتیبانی نخواهد شد.</td> </tr> <tr> <td>آپریل یا می 2016 (مشخص خواهد شد)</td> <td>انتشار نسخه 8.1.0 دروپال</td> </tr> </tbody> </table> <p>با استفاده از این روش انتشار نسخه ‌‌های جدید دروپال نظم بیشتری خواهد گرفت و توسعه دهنده های دروپال با دیدن هر نسخه از دروپال متوجه میزان و سطح تغییرات در اون نسخه خواهند شد. بنابراین زمانی که نسخه 8.0.1 دروپال منتشر بشه همه ما میدونیم که این تغییرات در سطح رفع چند خطا در دروپال 8 خواهد بود و بعد از انتشار دروپال 8.1.0 میفهمیم که در هسته دروپال 8 قابلیت‌های جدیدی اضافه شده.</p> </div> <div> <div>دسته بندی مطلب</div> <div> <div class="uk-margin"><a href="/taxonomy/term/115" hreflang="en">دروپال 8</a></div> <div class="uk-margin"><a href="/taxonomy/term/107" hreflang="en">آموزش دروپال</a></div> <div class="uk-margin"><a href="/taxonomy/term/114" hreflang="en">متن باز</a></div> </div> </div> <section> </section> Tue, 01 Dec 2015 08:32:40 +0000 عرفان بناکار 2117 at https://drupalion.com https://drupalion.com/node/2117#comments دروپال 8، آماده استفاده https://drupalion.com/node/2116 <span>دروپال 8، آماده استفاده</span> <span><a title="مشاهده نمایه کاربر." href="/user/50" lang="" about="/user/50" typeof="schema:Person" property="schema:name" datatype="">عرفان بناکار</a></span> <span>س, 1394/08/26 - 21:39</span> <div class="uk-margin"><p>به نظر میرسه دیگه زمان استفاده از دروپال 8 رسیده. دروپال 8 حدودا 5 سال توسعه رو پشت سر گذاشته. از زمانی که این فکر ایجاد شد تا ایده ها جمع آوری شد و در نهایت کارهای توسعه به پایان رسید. ما دروپال دوستان زمان زیادی رو منتظر این لحظه بودیم. پس به شما تبریک میگم، دروپال 8 منتشر شد.</p> <p>طبق زمانبندی های اولیه به نظر میرسید دروپال در سپتامبر سال 2013 منتشر بشه اما 2 سال تاخیر در انتشار دروپال 8 به وجود آمد. وقتی به اتفاق ها و کارهایی که در دروپال 8 انجام شده نگاه میکنیم میبینیم که این مدت زمان در تاخیر انتشار خیلی هم بی دلیل نبوده. قبلا در مورد <a href="/node/126" title="دروپال 8 یک دنیای تازه">دروپال 8 و قابلیت های جدید اون</a> نوشته بودیم. بیایید یک بار دیگه مهم ترین قابلیت های دروپال 8 رو مرور کنیم:</p> <ul> <li>استفاده از <a href="http://symfony.com/blog/symfony2-meets-drupal-8">symfony</a> و بسیاری از کتابخانه‌های آن در دروپال</li> <li>استفاده از <a href="http://twig.sensiolabs.org/">TWIG</a> به عنوان موتور طراحی قالب</li> <li>تعامل گرا بودن دروپال 8</li> <li>طراحی بهتر برای تمرکز بر محتوا با وجود ckeditor و قابلیت Quick Edit</li> <li>پشتیبانی بهتر از چند زبانگی در دروپال 8</li> <li>دروپال به عنوان CMI</li> </ul> <p>البته این‌ها فقط تیترهای قابلیت های جدید دروپال 8 بود. شما میتوانید لیست کامل <a href="https://www.drupal.org/list-changes/drupal">قابلیت‌های دروپال 8</a> رو مشاهده کنید.</p> <p><strong>نقطه شروع:</strong></p> <p>    برای شروع به استفاده از دروپال 8 شما نیاز به دانستن چیزهای زیادی ندارید. کافیه دروپال 8 رو دانلود کنید و اون رو نصب کنید. توصیه میکنم از نسخه 5.6 php یا حداقل 5.5 برای نصب دروپال 8 استفاده کنید. ماژول هایی مثل commerce در دروپال 8 حداقل به نسخه 5.5 نیاز دارند. البته خود دروپال نسخه 5.4 رو به عنوان حداقل درخواست میکنه.<br /> شما در نصب دروپال 8 از همان ابتدا میتونید زبان شیرین پارسی رو به عنوان زبان نصب دروپال انتخاب کنید. همه چیز به شکل زیبایی نمایش داده میشه و حالت راست چین خوبی داره. روند نصب تا حد زیادی مشابه دروپال 7 است و شما خیلی احساس غریبگی نخواهید کرد. برای شروع میتونید از صفحه <a href="https://www.drupal.org/try-drupal">try-it</a> در دروپال استفاده کنید و دروپال 8 رو تست کنید.</p> <p>دروپال 8 طبق روال گذشته با پایگاه داده‌های mysql و فورک هایی مثل mariadb و همچنین postgresql و sqllite قابل استفاده است. یکی از مزیت های دروپال 8 اینه که شما لازم نیست اول یک Database بسازید و اطلاعات اون رو در حین نصب وارد کنید، بلکه کافیه نام دلخواه خودتون رو در حین نصب به نصاب دروپال بدید و اون برای شما پایگاه داده رو میسازه.</p> <p><strong>دراش Drush:</strong></p> <p>    دیگه دروپال بدون Drush خیلی صفایی نداره. برای استفاده از دراش در دروپال 8 شما باید نسخه 8 رو نصب کنید. برای <a href="http://docs.drush.org/en/master/install/">نصب و دانلود دراش</a> مستندات اون رو ملاحظه کنید. البته قبلا در سایت <a href="/node/104">مطلبی برای نصب دراش</a> نوشته بودیم که در نسخه های جدید دیگه کاربردی نداره.</p> <p><strong>ساختار پوشه‌ها:</strong></p> <p>    ساختار فایل ها و پوشه ها در دروپال 8 تغییر کرده. به نظر من این ساختار از ساختار دروپال 7 بهتر و قابل درک تره. وقتی به پوشه های اصلی زیر دروپال نگاه میکنید یک پوشه به نام core وجود داره که همه کدهای هسته دروپال در اون قرار گرفته و خبر خوب اینه که دیگه لازم نیست برای نصب یک ماژول جدید اونها رو به شاخه sites منتقل کنید. پوشه module ها و قالب ها در شاخه اصلی قرار گرفته و شما میتونید شاخه custom و contrib رو در اونها بسازید.</p> <p>در دروپال 8 همه چیز entity هستند. خبر خوب اینه که دیگه به ماژول هایی شبیه bean نیاز نیست و شما میتونید انواع بلوک ها رو بسازید و به اونها فیلدهای خودتون رو اضافه کنید. آیا این عالی نیست. حتی contact هم یک entity شده و شما میتونید فیلدهای خودتون رو به اون اضافه کنید.<br /> entity شدن همه چیز در دروپال 8 چند مزیت ایجاد کرده که شاید مهم ترین اونها اینه که در برخورد با همه چیز در دروپال 8 شما باید یک رفتار ثابت نشون بدید. همه موجودی ها با views کار میکنند. برای همه اونها قابلیت افزودن فیلد وجود داره و همه اینها به لطف اضافه شدن ماژول entity به هسته دروپاله.</p> <p>یک خبر خوب دیگه اینه که نام سایت، شعار سایت و خورده نون (breadcrumb) همه به بلوک تبدیل شدن و شما میتونید اونها رو هر جا که خواستید استفاده کنید.</p> <p><strong>ماژول‌های هسته:</strong></p> <p>    در دروپال ماژول های زیادی به هسته دروپال اضافه شدن. Views گل سر سبد اونهاست. ماژول های دیگه مثل entity, admin views, link, email, phone, entity reference, date, module filter, ckeditor, entity cache و قسمت‌هایی از ماژول services به هسته دروپال 8 اضافه شدند. اضافه شدن این ماژول ها باعث شده بعد از نصب دروپال 8 اکثر کارهای عمومی رو بشه بدون نیاز به نصب ماژول جدیدی انجام داد. البته این رو هم باید بگم که ماژول هایی مثل poll و php filter دیگه در هسته دروپال 8 نیست.<br /> <br /> یک زمانی خبرهایی بود که ماژول media به دروپال 8 میره که اینطور نشد. البته به نظر میرسه که file entity دروپال 8 رفته چون همینطور که گفتم همه چیز به entity تبدیل شده.</p> <p><strong>قالب در دروپال 8:</strong></p> <p>    در دروپال 8 از TWIG به عنوان موتور طراحی قالب استفاده شده. اگر سوال شما اینه که آیا طراحی قالب در دروپال 8 با دروپال 7 تفاوت زیادی داره باید بگم بله. TWIG ادعا میکنه که سریع تر و امن تره. تست ها نیز همین موضوع رو تائید میکنند. در حال حاضر یک سایت یک آموزش کامل <a href="http://d8.sqndr.com/index.html">طراحی قالب دروپال 8</a> رو منتشر کرده که خیلی میتونه مفید باشه.</p> <p><strong>ماژول نویسی در دروپال 8:</strong></p> <p>    در حال حاضر ماژول devel خیلی میتونه مفید باشه. اگر شما قبلا ماژولی برای دروپال 7 نوشتید توسعه دهنده های دروپال ماژول <a href="https://www.drupal.org/project/drupalmoduleupgrader">drupalmoduleupgader</a> رو برای شما آماده کردن. ماژول <a href="https://www.drupal.org/project/examples">examples</a> هم میتونه برای شروع به شما کمک کنه. لینک های زیر هم میتونه برای شروع به شما کمک کنه: <a href="http://getlevelten.com/blog/ian-whitcomb/drupal-8-module-development-part-1-getting-started">اینجا</a> و <a href="http://www.drupalwoo.com/content/blog/my-first-drupal-8-module">اینجا</a> و <a href="http://pingv.com/blog/drupal-8-isnt-scary-pt-1-introduction-creating-hello-world-module">اینجا</a> و <a href="https://drupalize.me/blog/201307/drupal-8-writing-hello-world-module">اینجا</a></p> <p><strong>شمسی سازی و بومی سازی در دروپال 8:</strong></p> <p>    خبر خیلی خوب اینه که دروپال 8 این قول رو داده که امکان ترجمه و بومی سازی به شکل کامل در دروپال 8 پشتیبانی میشود. در حال حاضر همینطور که گفتم که حتی در مراحل نصب نیز میتونید زبان پارسی رو به عنوان زبان پیش فرض انتخاب کنید. اما برای پشتیبانی از تاریخ شمسی در دروپال 8 هنوز باید صبر کنید تا ماژول های شمسی فعلی برای دروپال 8 آماده شوند. ماژول هایی مثل <a href="https://drupal.org/project/datex">Datex</a> یا <a href="http://drupal.org/project/calendar_systems">calendar systems</a></p> <p><strong>کی باید از دروپال 8 استفاده کنم؟</strong></p> <p>   در حال حاضر نسخه 8 دروپال منتشر شده. اما هیمنطور که از ابتدای مقاله هم گفتیم در دروپال 8 اتفاق های خیلی زیادی افتاده. همینطور که قابلیت های زیادی به دروپال 8 اضافه شده، بروزرسانی ماژول‌ها و قالب‌های موجود به دروپال 8 نیز زمان بر خواهد بود. در ضمن باید همیشه سری به <a href="https://www.drupal.org/project/issues/search/drupal?project_issue_followers=&amp;status[]=1&amp;status[]=13&amp;status[]=8&amp;status[]=14&amp;status[]=4&amp;priorities[]=400&amp;categories[]=1&amp;categories[]=2&amp;version[]=8.x&amp;issue_tags_op=%3D">لینک ISSUE های فوق العاده مهم دروپال</a> هم سری بزنید. نمیشه خیلی قطعی گفت که کی باید از دروپال 8 استفاده کنید. اما اگر بخوام نسخه ای به شما بدم باید بگم که به سایت شما بستگی داره. اگر میخواید یک سایت کم اهمیت راه اندازی کنید، یا یک وبلاگ با دروپال داشته باشید دروپال 8 میتونه انتخاب خوبی باشه.</p> <p>در صورتی که سایت های مهمی دارید که ماژولهای زیادی برای اونها نصب کردید چاره ای ندارید تا اینکه ماژول های نصب شده به دروپال 8 منتقل بشن یا حداقل ماژول های مشابهی برای اونها نوشته بشه. که من فکر میکنم این روند میتونه 6 ماه طول بکشه. من شخصا تا منتشر شدن نسخه 8.1 دروپال منتظر میمونم و بعد دروپال رو در سایت های نسبتا مهم استفاده خواهم کرد. اما از الان سایت های کوچک تر که بازدیدهای کمی دارن و ماژولهای زیادی روی اونها نصب نیستند رو به دروپال 8 منتقل میکنم.</p> <p>در نهایت انتشار دروپال 8 یک اتفاق بسیار مهم در دنیای دروپال دوستهاست. به شکلی که خود سایت دروپال این نسخه از دروپال رو <a href="https://www.drupal.org/news/drupal-8.0.0-released">بزرگترین بروزرسانی در تاریخ دروپال</a> میدونه. شما چه حسی در مورد دروپال دارید؟ فکر میکنید وضعیت آینده دروپال بعد از انتشار این نسخه چه خواهد بود؟ آیا تجربه ای با <a href="/taxonomy/term/115">دروپال 8</a> دارید که بخواید با خوانندگان دروپال‌یون به اشتراک بگذارید؟</p> </div> <div> <div>دسته بندی مطلب</div> <div> <div class="uk-margin"><a href="/taxonomy/term/139" hreflang="en">دروپال</a></div> <div class="uk-margin"><a href="/taxonomy/term/115" hreflang="en">دروپال 8</a></div> <div class="uk-margin"><a href="/taxonomy/term/114" hreflang="en">متن باز</a></div> </div> </div> <section> </section> Tue, 17 Nov 2015 18:09:11 +0000 عرفان بناکار 2116 at https://drupalion.com https://drupalion.com/node/2116#comments نارنجی و امنیت شغلی https://drupalion.com/node/230 <span>نارنجی و امنیت شغلی</span> <span><a title="مشاهده نمایه کاربر." href="/user/50" lang="" about="/user/50" typeof="schema:Person" property="schema:name" datatype="">عرفان بناکار</a></span> <span>چ, 1392/09/13 - 22:06</span> <div class="uk-margin"><p>نمیدونم چه اتفاقی داره میفته. دلم میگیره. توی خبرها اینه که تعدادی از فعالان سایبری به دلایلی که ذکر میشه دستگیر شدن. من به این کار ندارم که دلیل این دستگیری چی بوده. به این هم کاری ندارم که آیا کاری کردن یا نه؟ حتی به این هم کاری ندارم که ممکنه این صرفا یک زهر چشم باشه. فقط یک نگرانی دارم. <strong>امنیت شغلی</strong></p> <p>چرا باید تعدادی از افرادی که خیلی از ما گیک ها با خبرهای اونها به روز میشدیم و دورادور با نویسنده های اونها احساس نزدیکی میکردیم دستگیر بشند در حالی که هیچ خبر تکمیلی در مورد اونها درز نمیکنه. یک روز زمان زیادیه برای اطلاع رسانی. سوال من اینه: الان افرادی که در حوزه IT کار میکنند چطور باید بدونن خطوط قرمز کجاست؟ باید چطور رفتار کنند؟ باید در مورد چه چیزی بنویسیند؟ باید برای چه کسانی سایت طراحی کنند و برای چه کسانی سایت طراحی نکنند؟ باید چطور امنیت شغلی خودشون رو تامین کنند؟</p> <p>با بچه های نارنجی از سه جهت احساس نزدیکی میکنم: یکی اینکه خواننده سایت اونها بودم. دوم اینکه من هم مثل اونها در حوزه IT فعالیت میکنم و سایت طراحی میکنم (انگار سایت طراحی کردن این روزها داره به یک کار غیرقانونی تبدیل میشه). سوم اینکه سایت نارنجی از دروپال استفاده میکرد.</p> <p>امیدوارم بچه های نارنجی زودتر به سراغ کار خودشون که خیلی هم خوب بلدند برگردند. و امیدوارم که ما تعریف درستی از فعالیت قانونی در حوزه IT به دست بیاریم و باز هم امیدوارم که این تعاریف یک روزی برداشته شوند.</p> <p>نویسنده: عرفان بناکار</p> </div> <div> <div>دسته بندی مطلب</div> <div> <div class="uk-margin"><a href="/taxonomy/term/114" hreflang="en">متن باز</a></div> </div> </div> <section> </section> Wed, 04 Dec 2013 18:36:58 +0000 عرفان بناکار 230 at https://drupalion.com https://drupalion.com/node/230#comments و اینک ... Datex 2 https://drupalion.com/node/177 <span>و اینک ... Datex 2</span> <span><a title="مشاهده نمایه کاربر." href="/user/50" lang="" about="/user/50" typeof="schema:Person" property="schema:name" datatype="">عرفان بناکار</a></span> <span>د, 1392/07/22 - 01:05</span> <div class="uk-margin"><p>بعد از چند وقت تلاش و افزودن امکانات جدید ورژن ۲ ماژول Datex برای دروپال منتشر شد. این ماژول چندین امکان جدید داره که سعی میکنیم در این مطلب به اونها اشاره کنیم. و قبل از اون طبق معمول تشکر ویژه از کوشا عزیز به خاطر تلاش های زیادی که برای این ماژول انجام داد.</p> <p>شاید مهمترین اتفاقی در این ورژن افتاده اینه که API‌ های این ماژول یک بازنگری کلی انجام شده. API ها ساده تر شده اند و کاملا برای پشتیبانی از تمام تقویم ها بهینه شده است. سبک تر شده و استفاده از اون هم راحت تر شده.</p> <p>اما این تمام اتفاق هایی که در این ورژن افتاده نیست. امکانات خاصی به این ماژول اضافه شده است که با هم بررسی میکنیم.</p> <ol> <li><strong>اضافه شدن قابلیت popup به ماژول date</strong>: در این حالت شما میتوانید فیلدهای date را که به نوع محتوای خود اضافه میکنید را به صورت popup نمایش دهید. قبلا هم قابلیت نمایش select را نیز به فیلدهای ماژول date اضافه کرده بودیم. پس فقط در حالت text تاریخ شمسی نخواهد بود.</li> <li><strong>آماده برای افزودن تقویم های دیگر</strong>: به دلیل تغییراتی که در api های datex انجام شده اضافه شدن تقویم های دیگر مثل قمری یا تایلندی به سادگی انجام خواهد شد. کافیست از API‌های datex استفاده شود و با چند خط کوتاه این تقویم اضافه شود. در ضمن به دلیل استفاده از <a href="https://github.com/kbwood/calendars">این</a> کتابخانه Jquery تقریبا برای تمام زبان ها و تقویم ها popup نوشته شده است.</li> <li><strong>اضافه شدن schema</strong>: به دلیل اینکه datex سعی میکند یک ماژول جهانی باشد بنابراین تصمیم گرفتیم رابط کاربری برای استفاده بهتر این ماژول ایجاد کنیم. schema این قدرت رو به شما میدهند که تصمیم بگیرید در چه شرایطی در سایت چه زبانی از چه تقویمی استفاده کند. برای سادگی کار یک schema به نام default ایجاد شده است. شما با استفاده از این schema ها میتوانید مشخص کنید مثلا وقتی زبان سایت انگلیسیست تاریخ سایت به چه شکل نمایش داده شود. شما میتوانید مثلا در زبان انگلیسی تاریخ سایت جلالی نمایش داده شود.</li> <li><strong>نحوه نمایش تاریخ در مشاهده محتوا و نظرات</strong>: شما میتوانید علاوه بر تنظیم حالت های مختلف نمایش تاریخ در سایت مشخص کنید صرفا در نمایش تاریخ محتوا ها و نظرات با چه فرمتی تاریخ نمایش داده شود.</li> <li><strong>تصمیم در مورد نمایش تاریخ در فیلدهای date</strong>: در زمانی ایجاد و نمایش یک فیلد از نوع date شما میتوانید مشخص کنید که این فیلد از چه schema یی استفاده کند. مثلا یکی از دوستان ما میخواست که یک سایت فروش خودرو راه اندازی کند. او نیاز داشت که در هنگام افزودن خودرو اگر یک خودرو خارجی را وارد میکرد تاریخ ساخت را به صورت میلادی وارد کند و برای خودروهای داخلی تاریخ ساخت را شمسی وارد کنید. او 2 schema ساخت یک برای حالتی که در زبان فارسی تاریخ سایت را شمسی نمایش دهد یکی هم برای زمانی که در زبان فارسی تاریخ سایت را میلادی نمایش دهد. بعد او 2 فیلد date ساخت. برای فیلد اول از schema اول استفاده کرد که تاریخ را شمسی نمایش دهد و برای فیلد دوم از schema دوم استفاده کرد که در هر صورت تاریخ را میلادی نمایش دهد. در این حالت او توانست برای خودروهای خارجی و ایرانی فیلدهای شمسی و میلادی مورد نظر را داشته باشد. این قابلیت در views نیز قابل استفاده است. حتی شما میتوانید یک فیلد را میلادی از کاربر بگیرید و شمسی نمایش دهید. نوع استفاده به نیاز شما بازمیگردد.</li> <li><strong>تاریخ دقیق</strong>: با استفاده از توابع جدید برای تشخیص تاریخ جلالی به نظر میرسد که این ماژول تا سال های سال تاریخ را به درستی تشخصی داده و در مورد سال های کبیسه دچار مشکل نشود.</li> </ol> <p>قابلیت های گذشته نیز هم چنان پابرجاست:</p> <ol> <li>استفاده در حالت بدون نیاز به patch</li> <li>استفاده در حالت patch شدن هسته دروپال</li> <li>استفاده از توابع داخلی برای تبدیل تاریخ</li> <li>استفاده از کتابخانه php-intl موجود در php برای تبدیل تاریخ</li> </ol> <p><span style="font-size:14px"><em><strong>نحوه نصب و استفاده:</strong></em></span></p> <p>برای نصب این ماژول مراحل زیر را دنبال کنید.</p> <ol> <li dir="rtl">ماژول datex را از <a href="https://drupal.org/project/datex">صفحه این ماژول</a> در سایت دروپال دانلود کنید.</li> <li dir="rtl">این ماژول را مانند بقیه ماژول ها نصب کنید. در لیست ماژول ها 3 ماژول را میبینید <ol> <li>Datex API: که شامل api ها و توابع مورد نیاز این ماژول است.</li> <li>Datex: که وظیفه مدیریت تاریخ در دروپال را به عهده دارد. در ضمن ماژول Datex_date که در ورژن 1 وجود داشت به این ماژول منتقل شده است. برای استفاده صحیح شما باید این ماژول را نصب کنید.</li> <li>Datex Popup: برای نمایش تاریخ به صورت popup باید این ماژول را نصب کنید.</li> </ol> </li> <li dir="rtl">پس از نصب ماژول به صفحه admin/config/regional/language بروید و زبان های مورد نیاز را به دروپال خود اضافه کنید.</li> <li dir="rtl">به صفحه admin/config/regional/date-time/datex بروید و بر روی manage schema کلیک کنید. یک schema به صورت پیش فرض با نام default قبلا ایجاد شده است. بر روی edit کلیک کنید و نکات زیر را در نظر بگیرید. <ol> <li>ماژول Datex به صورت پیش فرض تمام تقویم ها را میلادی در نظر میگیرد. بنابراین اگر شما تقویمی را برای زبانی فعال نکنید تاریخ برای آن زبان به صورت میلادی نمایش داده میشود.</li> <li>در ضورتی که میخواهید تاریخ در زبان فارسی به صورت شمسی نمایش داده شود تیک گزینه <span style="font-size:12px">Enable datex in Persian را بزنید.</span></li> <li>از لیست انتخاب jalali را انتخاب کنید. ( در حال حاضر فقط jalali قابل انتخاب است تا زمانی که تقویم های دیگری نیز برای زبان های دیگر اضافه شود)</li> <li>در نهایت ما برای زبان انگلیسی هیچ تقویمی را انتخاب نمیکنیم و چون تقویم به صورت پیش فرض میلادی است برای زبان انگلیسی تقویم میلادی انتخاب خواهد شد و برای زبان فارسی نیز تقویم jalali را انتخاب کرده ایم.</li> </ol> </li> <li dir="rtl">دوباره به صفحه تنظیم ماژول datex در admin/config/regional/date-time/datex بروید و از منوی Non-patchin Mode انتخاب کنید که تاریخ نمایش محتوا و نظر به چه گونه باشد و روی دکمه ذخیره کلیک کنید.</li> <li dir="rtl">از این پس باید بر اساس تنظیماتی که در schema انجام داده اید تقویم شما در زبان های مختلف به درستی نمایش داده شود. از مراحل گفته شده در مرحله 4 را انجام داده باشید تاریخ سایت شما در زبان انگلیسی باید به صورت میلادی باشد و در زبان فارسی به صورت جلالی.</li> <li dir="rtl">اگر میخواهید یک schema جدید تعریف کنید باز به صفحه تنظیمات datex بروید در admin/config/regional/date-time/datex و بر روی  New schema کلیک کنید و مراحل زیر را دنبال کنید. <ol> <li>یک نام برای schema مورد نظر خود انتخاب کنید. مثلا من میخواهم تاریخ در هر شرایطی به صورت جلالی نمایش داده شود. بنابراین نام always jalali را انتخاب میکنم.</li> <li>بر روی زبان هایی که میخواهم تاریخ نمایش آنها میلادی نباشد کلیک میکنم. در اینجا چون میخواهم در هر زبانی تاریخ جلالی نمایش داده شود تیک هر دو زبان فارسی و انگلیسی را میزنم و تقویم را jalali انتخاب میکنم.</li> <li>روی دکمه ذخیره کلیک میکنم.</li> <li>از این پس میتوانم در صفحه manage schemas هر schema که تعریف شده است را ببینم و ویرایش و حذف کنم.</li> </ol> </li> <li dir="rtl">برای فعالسازی قابلیت popup مراحل زیر را دنبال کنید. <ol> <li>ماژول datex popup را نصب کنید.</li> <li>فایل های کتابخانه مربوط به قابلیت popup را <a href="https://github.com/kbwood/calendars">دانلود کنید</a> و به شاخه sites/all/libraries منتقل کنید.</li> <li>فایل را  extract کنید و نام آن را به jquery.calendars تغییر دهید به صورتی که شما چنین مسیری را داشته باشید. sites/all/libraries/jquery.calendars/jquery.calendars.all.min.js</li> </ol> </li> </ol> <p>امیدواریم این ماژول به شما در طراحی سایت هایتان کمک کند. چنان چه مشکلی با این ماژول داشتید میتوانید به <a href="https://drupal.org/project/datex">صفحه این ماژول</a> در سایت دروپال مراجعه کنید و از قسمت <a href="https://drupal.org/project/issues/datex">issue</a> ها مشکل خود را با ما در میان بگذارید.</p> </div> <div> <div>دسته بندی مطلب</div> <div> <div class="uk-margin"><a href="/taxonomy/term/110" hreflang="en">ماژول های دروپال</a></div> <div class="uk-margin"><a href="/taxonomy/term/114" hreflang="en">متن باز</a></div> </div> </div> <section> </section> Sun, 13 Oct 2013 21:35:53 +0000 عرفان بناکار 177 at https://drupalion.com https://drupalion.com/node/177#comments backdrop انشعابی از دروپال https://drupalion.com/node/182 <span>backdrop انشعابی از دروپال</span> <span><a title="مشاهده نمایه کاربر." href="/user/50" lang="" about="/user/50" typeof="schema:Person" property="schema:name" datatype="">عرفان بناکار</a></span> <span>پ, 1392/06/28 - 15:08</span> <div class="uk-margin"><p>قبلا در مورد <a href="/taxonomy/term/115">دروپال ۸</a>، مزیت هاش و معایبش کمی <a href="/node/126">صحبت کردیم</a>. دیگه چیزی نمونده که دروپال ۸ بیاد. اما به نظر میرسه که بعضی ها خیلی هم خوشحال نیستند. دوست دارید بدونید ماجرا چیه؟ پس همراه <a href="http://drupalion.com">ما</a> باشید.</p> <p>قبلا هم توی مقاله ای که در مورد دروپال ۸ نوشتیم گفتم که یکی از مشکلاتی که ممکنه دروپال ۸ داشته باشه اینه که شاید دیگه به درد سایت های کوچک نخوره. اما مثل اینکه توی این نظر ما تنها نبودیم. اخیرا یک خانم به نام Jennifer Lea Lampton خیلی سفت و سخت دنبال اینه که ثابت کنه دروپال ۸ به درد کاربران تازه کار و سایت های کوچک نمیخوره. اون معتقده که یادگیری دروپال حتی در نسخه ۷ هم سخته و در دروپال ۸ بسیار سخت تر. اون میگه که دروپال رو نمیشه به صورتی حسی درک کرد و یاد گرفت و این باعث میشه که برای کارهای کوچک و برای کاربرانی که فقط میخوان استفاده کننده باشند و نه توسعه دهنده زیاد مناسب نباشه.<br /> حتی معتقده که دروپال ۸ به دلیل تغییرات گسترده ای که داشته، مثل اضافه شدن YML ها، تغییرات زیاد در API‌ها، افزوده شدن Twig، شی گرا شدن و CMI ها بسیار بیشتر از دروپال ۷ برای سایت های بزرگ مناسبه.</p> <p>این حرف ها به نظر من هم کمی درست میرسه، اما خوب دروپال همیشه خودش رو یک سر و گردن بالاتر از cms های معمولی میدونست. <a href="/node/165">قبلا هم نوشتم</a> که ۲۴ درصد از دامنه های .gov دنیا دروپال پیاده سازی شده. پس شاید دروپال ۸ داره در مسیر درستی حرکت میکنه. اما آیا میشه از کاربران کم تجربه تر صرف نظر کرد؟ یا از سایت های کوچک؟.</p> <p>خانم <a href="http://www.jenlampton.com/">Lea Lampton</a> یک پیشنهاد داره. از <a href="http://backdropcms.org/">backdrop</a> استفاده کنید. همینطور که از اسمش پیداست یک جورایی یعنی بازگشت به قطره. توی سایت backdrop اون به طور خلاصه اهدافش و چیزهایی که دنبالش بوده رو توضیح داده.اون میخواد که کاربر رو از پیچیدگی های دروپال ۸ دور کنه و یک جورایی دروپال ۷ رو با ۸ ادغام کنه. میخواد که روند استفاده از دروپال برای تازه کاران و افرادی که تخصص زیادی در برنامه نویسی ندارند هم رشد داشته باشه.</p> <p>بحث های زیادی در رابطه با backdrop شکل گرفته. من توی این مطلب سعی داشتم که فقط این انشعاب رو معرفی کنم. هنوز چیز زیادی برای فهمیدن وجود نداره اما اگر این بحث برای شما جالبه میتونید به لینک های زیر مراجعه کنید.<br /> <a href="http://www.jenlampton.com/blog/introducing-backdrop-cms-drupal-fork">http://www.jenlampton.com/blog/introducing-backdrop-cms-drupal-fork</a><br /> <a href="http://pingv.com/blog/drupal-8-as-an-intuitive-platform">http://pingv.com/blog/drupal-8-as-an-intuitive-platform</a><br /> <a href="http://www.freelock.com/blog/john-locke/2013-09/drupal-8-vs-backdrop">http://www.freelock.com/blog/john-locke/2013-09/drupal-8-vs-backdrop</a><br /> <a href="http://www.digett.com/blog/09/18/2013/backdrop-forking-drupal">http://www.digett.com/blog/09/18/2013/backdrop-forking-drupal</a><br /> <a href="http://www.unleashedmind.com/en/blog/sun/the-world-is-flat">http://www.unleashedmind.com/en/blog/sun/the-world-is-flat</a></p> <p>سوال اینه که آیا Backdrop به دروپال لطمه میزنه؟<br /> شاید آره، اگر چند دستگی بین کاربران دروپال ایجاد بشه و توسعه دهنده ها مسیرهای متفاوتی رو طی کنند.<br /> شاید نه، چون دروپال مسیر خودش رو مشخص کرده و اون هم هدف گذاری برای سایت های بزرگه. در این صورت Backdrop نه تنها ضرری نمیزنه بلکه به شناخته شدن دروپال کمک هم میکنه.</p> <p>نظر شما چیه؟ فکر میکنید این خانم در مورد پیچیدگی های دروپال درست فکر میکنه؟ فکر میکنید Backdrop به دروپال کمک میکنه یا نه؟</p> </div> <div> <div>دسته بندی مطلب</div> <div> <div class="uk-margin"><a href="/taxonomy/term/114" hreflang="en">متن باز</a></div> </div> </div> <section> </section> Thu, 19 Sep 2013 10:38:40 +0000 عرفان بناکار 182 at https://drupalion.com https://drupalion.com/node/182#comments درس‌هایی از الجزیره: چهار دلیل برای اینکه چرا یک اتاق خبری متن‌باز سخت‌تر از آنیست که تصور می‌کنید - ادامه https://drupalion.com/node/119 <span>درس‌هایی از الجزیره: چهار دلیل برای اینکه چرا یک اتاق خبری متن‌باز سخت‌تر از آنیست که تصور می‌کنید - ادامه</span> <span><a title="مشاهده نمایه کاربر." href="/user/153" lang="" about="/user/153" typeof="schema:Person" property="schema:name" datatype="">کوشا حسینی</a></span> <span>چ, 1392/06/13 - 17:11</span> <div class="uk-margin"><p>ادامه از <a href="http://www.drupalion.com/blog/115">http://www.drupalion.com/blog/115</a></p> <p><span style="font-size:16px"><strong>۳. اتکا به انجمن متن‌باز شاید عملی نباشد</strong></span><br /> فقط تعداد محدودی پروژه متن‌باز در الجزیره هست: شارِک(وب‌سایت اشتراک گذاری کاربران) و مباشر (وب‌سایت خبری حول مطالب سیاسی-حکومتی)، وب‌لاگ زنده‌ی الجزیره-انگلیس. آیا پشتیبانی کافی برای گسترش این پروژه‌ها وجود دارد؟</p> <p>اینجور که اولسون برای من توضیح داد، تلاش خیلی زیادی لازم است تا برای مثال الجزیره-انگلیس بتواند کاملا به سیستم دروپال منتقل شود. اولسون گفت «برای یک ارگان، اتکا به انجمن متن‌باز برای بشتیبانی کافی نیست تا روی آن سرمایه‌گذاری کند. انجمن جواب‌گوی نیازهای تازه‌ای که هر روزه ایجاد می‌شود نیست پس به تعداد بیشتری توسعه‌دهنده‌ برای این پروژه‌های متن‌باز نیاز است».<br /> از نظر اولسون الجزیره منابع کافی برای کار تمام مدت روی پروژه متن‌باز در اختیار ندارد. استفاده از پشتیبانی ارائه شده در خارج از الجزیره نیازمند سرمایه است، اما با اینکار اولسون گرفتار در دام مدیرانی می‌افتاد که درک نمی‌کردند برای پشتیبانی باید هزینه‌ای پرداخت کنند چون «پشتیبانی یک پروژه متن‌باز» رایگان نیست.</p> <p>یکی از توسعه دهندگان می‌گفت انجمن متن‌باز منابع کافی برای یک اتاق خبری در اختیار ندارد «متن‌باز یک چیز غیرقابل پیش‌بینی است، کتابخانه‌ها و نرم‌افزارهای ارائه شده در جهت نیازهای یک اتاق خبری ارائه نشده‌اند».<br /> در طول این قسمت از مصاحبه، بعضی از توسعه‌دهندگان طرفدار ویندوز و محصولات مایکروسافت از من خواستند برای آن‌ها مثالی از استفاده‌ی سیستم‌های مدیریت محتوا در دیگر مکان‌ها ارائه کنم - یعنی اتاق‌های خبری که تمام سیستم مدیریت محتوای آن‌ها متن‌باز است.<br /> ما این کار رو کردیم اما تعداد خیلی زیادی پیدا نکردیم. وب‌سایت <a href="http://theopensourcenewspaper.org">روزنامه‌ی متن‌باز</a> این موارد را معرفی می‌کند: Savannah Now, the New York Observer, The Economist, Mother Jones, Fast Company, Slate France, و France 24 مخصوصا France24 که از زمان تاسیس خود در ۲۰۰۶ متن باز بوده است و خود بخشی از <a href="http://lab.france24.com/20091202-fr-modules-drupal-open-source">فلسفه‌ی تکنولوژی متن‌باز</a> اتاق‌خبریست.<br /> دیگر مثال‌ها شامل استفاده‌ی نیویورک تایمز از وردپرس برای سیستم بلاگ خود، سی‌ان‌ان، رویترز و دیگر ارگان‌های خبری کوچکتر.</p> <p>این سوال همچنان برای ما باقی می‌ماند: آیا واقعا منابع کافی در انجمن متن‌باز برای توسعه‌دهندگان وجود دارد تا یک سیستم خبری را مبتنی‌ بر یک پروژه متن‌باز ایجاد کنند؟ پروژه خبری موزیلا سروصداهایی را در مورد سیستم خبری و متن‌باز ایجاد کرده اما آیا واقعا توسعه‌دهندگان کافی که به روزنامه‌نگاری آنلاین اهمیت می‌دهند، وجود دارد؟</p> <p><span style="font-size:16px"><strong>۴.شاید استعداد کافی وجود ندارد، شاید هم فرهنگ آن</strong></span><br /> احمد ابراز ناراحتی می‌کرد، می‌گفت نتوانسته هیچ کس را در نشست دروپال (DrupalCon) برای زندگی در جزیره نخل دوحه که از مالیات هم معاف هست ترغیب کند. طبق گفته‌ی احمد، اولسون و بقیه افراد در خاورمیانه فرهنگ متن‌باز توی سایه‌ی فرهنگ نرم‌افزارهای مالکیتی قرار گرفته است. در اردن و تونس سایت طرفدار متن‌باز Hacks/Hackers تحت اسم دیگری، Media Innovation Initiative فعالیت می‌کند چون «متن‌باز» و «هک کردن» بار منفی زیادی دارد و تصور ذهنی افراد از آن‌ها کاملا ناخوشایند است. در دوحه و بقیه مناطق خاورمیانه، شاید اصلا نتوان توسعه‌دهندگان تکنولوژی‌های متن‌باز را پیدا کرد که برای ارگان‌های خبری فعالیت می‌کنند.</p> <p>این حرف‌ها باعث می‌شه به یاد حرف‌های پشت پرده‌ای در مورد اتاق‌های خبری -جدا از ارگان‌های خیلی بزرگ- بیفتم. برنامه‌نویس-خبرنگار کافی برای فعالیت در این راستا به سختی پیدا می‌شود، از آن هم سخت‌تر پیدا کردن افرادی که با تکنولوژی متن‌باز در اتاق‌های خبری کار کنند. اولسون فقط به خاطر اینکه الجزیره یک سایت خبریست به آن جا نیامده بود، بلکه گفت:‌ «من به خاطر چالش دروپالیش اومدم». اولسون حتی فکر نمی‌کند توسعه‌دهندگان متبحر طرفدار متن‌باز که خواهان کار برای یک اتاق خبری باشند به اندازه‌ی کافی وجود داشته باشد، حتی در خارج از خاورمیانه.</p> <p>بحث‌های خیلی خوبی در الجزیره در مورد اینکه چرا متن‌باز به نفع اتاق خبری ‌هست وجود داشت. مواردی مثل امنیت بهتر و طراحی اولیه راحت‌تر تا ارزش بالای انجمن‌های کاربران پشتیبان متن‌باز. ما با همه‌ی این بحث‌ها آشنا هستیم، اما مهمه که یک قدم به عقب برداریم و فکر کنیم چرا متن‌باز می‌تونه سخت‌تر از اونی باشه که در نگاه اول به نظر میاد.</p> <p>برگرفته از <a href="http://www.niemanlab.org/2012/09/four-reasons-why-an-open-source-newsroom-is-harder-than-it-looks-lessons-from-al-jazeera/">niemanlab</a> با کمی تغییر</p> </div> <div> <div>دسته بندی مطلب</div> <div> <div class="uk-margin"><a href="/taxonomy/term/114" hreflang="en">متن باز</a></div> <div class="uk-margin"><a href="/taxonomy/term/139" hreflang="en">دروپال</a></div> </div> </div> <hr> <section> <h2 class="uk-margin-top">افزودن دیدگاه جدید</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=119&amp;2=comment_node_blog&amp;3=comment_node_blog" token="Er5ERI8uBiIic5Opgfmqn-_O9UB9wEDwvbikk6GVFP0"></drupal-render-placeholder> </section> Wed, 04 Sep 2013 12:41:53 +0000 کوشا حسینی 119 at https://drupalion.com https://drupalion.com/node/119#comments امگا ۳ یا امگا ۴، مسئله این است! https://drupalion.com/node/176 <span>امگا ۳ یا امگا ۴، مسئله این است!</span> <span><a title="مشاهده نمایه کاربر." href="/user/50" lang="" about="/user/50" typeof="schema:Person" property="schema:name" datatype="">عرفان بناکار</a></span> <span>س, 1392/05/08 - 00:08</span> <div class="uk-margin"><p>قبول دارم، قبول دارم یکم زیاده روی کردم. احتمالا این روزها با این اوضاع اقتصادی و ... مملکت چیزهای خیلی مهم تری برای فکر کردن به اونها دارید. بیایید چند دقیقه این مسائل رو رها کنیم و به عشقمون فکر کنیم، <a href="/taxonomy/term/139"><strong>دروپال</strong></a>. اگر شما هم مثل <a href="http://www.drupalion.com">ما</a> از قالب امگا در سایتهای دروپالی خودتون استفاده میکنید حتما تا الان این سوال براتون پیش آمده که تفاوت ورژن ۳ و ۴ در چیه؟ اگر دوست دارید جواب این سوال رو بدونید پیشنهاد میکنم با ادامه این مطلب با ما باشید.</p> <p>اول باید پاسخ چند سوال رو بدم:<br /> ۱- <em>چرا من باید از Omega استفاده کنم؟ چرا <a href="https://drupal.org/project/ZEN" name="قالب پایه zen" id="قالب پایه zen">zen</a> بهتر نیست؟</em><br /> پاسخ: قبلا <a href="/node/64" title="بهترین قالب های پایه دروپال">مقاله ای</a> در این زمینه در دروپالیون نوشتیم که بین قالب های پایه دروپال مقایسه ای انجام شده بود. بد نیست اون رو بخونید. اما اگر اون مقاله رو خوندید و هنوز مجاب نشدید، پیشنهاد میکنم خودتون قالب ها رو بررسی کنید.</p> <p>۲<em>- اصلا چرا باید از یک قالب پایه دروپال استفاده کنم؟ چرا نباید از اول خودم یک قالب طراحی کنم؟</em><br /> پاسخ: من یک سوال دیگه میپرسم. من زبان PHP رو بلدم چرا باید از فریم ورک <a href="http://symfony.com/" name="فریم ورک سیمفونی" id="فریم ورک سیمفونی">symphony</a> استفاده کنم؟ آیا لزومی داره؟ اگر جواب سوال شما اینه که باید از فریم ورک ها استفاده کنم پس جواب شما هم اینه که از قالب های پایه استفاده کنید و برعکس.</p> <p>۳- <em>من شنیدم قالب های پایه سنگین ترن، آیا درسته؟</em><br /> پاسخ: نه درست نیست. قالب های پایه امکاناتی رو برای شما فراهم میکنند که شما با استفاده از اونها میتونید با سرعت بیشتری یک قالب جدید طراحی کنید. در نهایت همه قالب ها به CSS تبدیل میشوند و تفاوتی بین آنها نیست. حتی شاید بشه گفت شاید به این دلیل که توابع آماده شده در قالب های پایه توسط تعداد افراد زیادی نوشته شده، مشکلات کارایی اونها رفع شده.</p> <p>اگر دوست دارید در مورد امگا۳ بیشتر بدونید و کارتون رو با اون شروع کنید قبلا ۵ سری مقاله در این مورد در دروپالیون نوشته شده که میتونید به اونها یک نگاه بندازید. <a href="/node/128" title="طراحی قالب دروپال">اول</a> <a href="/node/130" title="طراحی قالب دروپال">دوم</a> <a href="/node/135" title="طراحی قالب دروپال">سوم</a> <a href="/node/142" title="طراحی قالب دروپال">چهارم</a> <a href="/node/144" title="طراحی قالب دروپال">پنچم</a></p> <p>خوب، ممکنه شما اصلا سوال های بالا براتون مطرح نبوده پس دیگه بیشتر از این شما رو منتظر نمیزاریم و میریم سر اصل مطلب. برای اینکه بتونید بهتر بین این دو ورژن متفاوت از قالب های امگا انتخاب کنید باید اطلاعات بیشتری در مورد اونها بدست بیاریم و برای بدست آوردن اطلاعات کجا بهتر از خود <a href="http://drupal.org/project/omega" name="قالب امگا دروپال" id="قالب امگا دروپال">صفحه قالب</a> در سایت <a href="http://drupal.org" name="وب سایت دروپال" id="وب سایت دروپال">دروپال</a>.</p> <table align="center" border="1" cellpadding="1" cellspacing="1" class="omega34" id="omega34" style="width:650px"> <thead> <tr> <th scope="row"> </th> <th class="rteright" scope="col">امگا ۳</th> <th class="rteright" scope="col">امگا ۴</th> </tr> </thead> <tbody> <tr> <td> <p><strong>Layout</strong></p> <p><strong>طرح بندی</strong></p> </td> <td> <ul> <li>استفاده از 960 گرید سیستم</li> <li>آماده شده با ۴ سایز صفحه نمایشگر</li> <li>یک رابط کابری خوب برای تنظیم کردن layout</li> <li>با استفاده از ماژول Delta و Context میتونید layout های آماده شده رو در بقیه قسمت های سایت استفاده کنید.</li> <li>شما میتوانید سایز صفحات نمایشگرهای متفاوت را در صفحه تنظیمات انجام دهید.</li> </ul> </td> <td> <ul> <li>یک طرح بندی کاملا سیال</li> <li>سایز صفحات نمایشگر رو فقط آنجایی که نیاز داردی وارد کنید.</li> <li>ساخت طرح بندی ها در <span style="color:rgb(34, 34, 34)">page.tpl.php بنابراین دیگر نیازی به ماژول delta نخواهید داشت. با کد نیاز شما رفع میشود.</span></li> <li>تقسیم بندی CSS ها به ۲ دسته مدیریت و هسته که باعث لود سریع تر فایل های CSS تا ۳۰ درصد میشود.</li> </ul> </td> </tr> <tr> <td><strong>HTML5</strong></td> <td>بله</td> <td>بله</td> </tr> <tr> <td><strong>SASS</strong></td> <td>نه. اما شما میتوانید در صورت نیاز اون رو اضافه کنید.</td> <td>بله. اما اجباری نیست. شما میتوانید مستقیما فایل های css رو تغییر بدید، گرچه استفاده از SASS پیشنهاد میشود.</td> </tr> <tr> <td><strong>SUSY</strong></td> <td>نه. اما شما میتوانید در صورت نیاز اون رو اضافه کنید.</td> <td>بله، اما حتما شما میتوانید از هر گرید سیستمی که دوست دارید استفاده کنید.</td> </tr> <tr> <td><strong>Breakpoints</strong></td> <td>نقاط انفصال ( با استفاده از Media Queries ) از طریق تنظیمات قالب قابل تغییر هستند.</td> <td>نقاط انفصال در فایل های Css به وسیله Sussy قابل تغییر هستند. از طریق رابط کاربری نمیتوانید آنها را تغییر دهید.</td> </tr> <tr> <td><strong>CSS</strong></td> <td> <p>۵<span style="font-size:14px"><span style="font-size:12px"> فایل CSS اصلی</span>: </span>global, default, narrow, normal و wide. و forms, text, branding و چیزهای دیگر که ممکنه شما اونها رو غیرفعال کرده باشید.</p> </td> <td>فایل های CSS از ساختار SMSCSS استفاده میکند. اما شما میتوانید هرگونه که دوست دارید فایل های خودتون رو ایجاد کنید.</td> </tr> <tr> <td><strong>Polyfill js libraries</strong></td> <td> <ul> <li>Formalize.js</li> <li><span style="color:rgb(34, 34, 34)">Media Queries ( یک فایل جاوااسکریپت که به شما اجازه میده بر اساس سایر صفحه نمایش کاربر تصمیمات متفاوتی بگیرید)</span></li> <li>Equal Heights.js</li> </ul> </td> <td> <ul> <li>Selectivizr.js</li> <li>CSS3 Media Queries JS</li> <li>Respond.js</li> <li>CSS3 PIE</li> <li>HTML5 shiv</li> </ul> </td> </tr> <tr> <td><strong>اضافات</strong></td> <td> <ul> <li>امکان فعال و غیر فعال کردن فایل های CSS ماژول ها و هسته قالب امگا</li> <li>امکان تنظیم سایز صفحات نمایش</li> </ul> </td> <td> <ul> <li>Apple touch icons</li> <li>پشتیبانی از <span style="color:rgb(34, 34, 34)">Clear type برای ویندوز</span></li> <li><span style="color:rgb(34, 34, 34)">Handheld friendly ( برای پشتیبانی از موبایل های Blackberry)</span></li> <li><span style="color:rgb(34, 34, 34)">Mobile Optimized ( برای Pocket PC ها)</span></li> <li><span style="color:rgb(34, 34, 34)">Viewport (برای موبایل های امروزی )</span></li> <li>پشتیبانی از <span style="color:rgb(34, 34, 34)">Chrome Frame و IE Edge </span></li> </ul> </td> </tr> <tr> <td><strong>توسعه</strong></td> <td> <ul> <li>نمایش مکان های بلوک ها</li> <li>Grid overlay</li> <li>کار با <a href="/node/104" title="درباره دراش">دراش</a> بعد از نصب omega tools</li> </ul> </td> <td> <ul> <li>ایجاد <span style="color:rgb(34, 34, 34)">theme registry در هر لود صفحه</span></li> <li>تجمیع فایل های css و JS در هر لود صفحه</li> <li>تشخیص عرض مرورگر</li> <li>پشتیبانی درونی از <span style="color:rgb(34, 34, 34)">LiveReload</span></li> <li>حالت دموی نواحی</li> <li>نصب تمام <span style="color:rgb(34, 34, 34)">ruby gems که نیاز است</span></li> <li>پشتیبانی عالی و زیاد از دراش</li> </ul> </td> </tr> <tr> <td><strong>Panels</strong></td> <td>کار با Panels</td> <td>استفاده از طرح بندی ها در رابط کاربری Panels و همچنین ماژول Context</td> </tr> <tr> <td><strong>حلاصه</strong></td> <td>Omega با Delta یک روش جالب و شلوغ برای ایجاد طرح بندی های متفاوت است. اما برای انجام بعضی کارها در امگا۳ نیاز به انجام تغییرات در کد خواهید داشت. و ایجاد یک قالب کاملا سیال با امگا ۳ کمی پیچیده است.</td> <td> <p>این ورژن از امگا کاملا برای طراحان حرفه ای آماده شده است. چون از SASS+SUSSY استفاده میکند. که علاوه بر قدرت، سرعت کار را نیز چندین برابر میکند.امگا۴ امکانات کمی در رابط کاربری به شما میدهد.<br /> اگر شما با کد راحتید این نسخه مال شماست.</p> <p>به صورت کلی امگا ۴ بیشتر شبیه یک API است.</p> </td> </tr> <tr> <td><strong>حاشیه</strong></td> <td>نواحی تو در تو ( در طرح بندی های پیچیده ) بسیار به سختی انجام خواهد شد. برای این منظور بهتر است از panels استفاده کنید. یا <a href="http://drupal.org/node/1230110#comment-4783876">این</a> لینک رو ببینید.<br />  </td> <td> </td> </tr> </tbody> </table> <p> </p> <p>خوب اینها که خوندید چیزهایی بود که در صفحه خود سایت امگا نوشته شده بود. جملات و عبارات زیادی در جدول بالا هست که نیاز به بررسی و توضیح داره. اما مسلما نمیشه همه چیزهایی که اینجا هست رو کاملا توضیح داد. مسائلی که شاید دونستنش مهم باشه اینهاست: SASS, Compass, SUSSY</p> <p><strong>SASS چیست؟</strong> یک زبان برنامه نویسی css است. یعنی یک جورایی یک فریم ورک است. بهتره <a href="http://sass-lang.com/" name="درباره sass" id="درباره sass">سایتش</a> رو ببینید. شما کدهای css رو به روش SASS مینویسید و کامپایلر SASS اونها رو به CSS ترجمه میکنه. خوب چه فایده ای داره؟ فایدش اینه که نوشتن کدهای CSS خیلی سریع تر میشه. بعد امکانات زیادی رو به css اضافه میکنه. مثل تعریف متغیر یا تعریف توابع برای استفاده از اونها که به اونها Mixin گفته میشه.</p> <p><strong><a href="http://susy.oddbird.net/" name="sussy چیست؟" id="sussy چیست؟">SUSSY</a> چیست؟</strong> یک گرید سیستم (<a href="http://en.wikipedia.org/wiki/Grid_(graphic_design)" name="گرید سیستم چیست؟" id="گرید سیستم چیست؟">grid system</a>) است. در اصل کارش اینه که شما با استفاده از اون صفحه خودتون رو تقسیم بندی میکنید و جای بلوک ها رو در قالبتون مشخص میکنید. در امگا ۳ از گرید سیستمی به اسم 960 استفاده میشد که در امگا ۴ به صورت پیش فرض از SUSSY استفاده میشه. مسئله اینه که شما طراحی گرید صفحه رو به وسیله زبان SASS انجام میدید. و کامپایلر SASS که از زبان Ruby استفاده میکنه اونها رو به CSS تبدیل میکنه.</p> <p><strong>Compass چیست؟</strong> یک library برای SASS است. <strong>یعنی چی؟</strong> یعنی اینکه شما از <a href="http://compass-style.org/" name="کامپاس چیست؟" id="کامپاس چیست؟">Compass</a> استفاده میکنید که بعضی از <a href="http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#mixins" name="mixin چیست" id="mixin چیست">mixin</a> ها رو خودتون ننویسید. مثلا شما میخواهید در فایل های CSS یک gradiant به یک کلاس بدید. معمولا خودتون اون رو مینویسید و در ضمن باید یادتون باشه که کدهای CSS برای gradiant در مرورگرهای متفاوت فرق میکنه. بنابراین باید این کدها رو برای مرورگرهای متفاوت هم بنویسید. اما با کمک Compass شما فقط کافیه هر جا که میخواهید gradiant بدید mixin مربوط به gradiant رو import کنید و بعد از کامپایل تمام کدهای CSS نوشته میشه. یعنی به جای نوشتن مثلا ۱۵ خط کد CSS شما فقط یک خط کد مینوسید و کدهای استاندارد برای شما ایجاد میشه.<br /> استفاده از Compass سرعت شما رو به شدت افزایش میده. همینطور هم که دیدید برای استفاده از Compass هم باید از SASS استفاده کنید.</p> <p>هر سه ابزار SASS, SUSSY, Compass با زبان Ruby نوشته شده اند. و در بقیه پروژه ها نیز قابل استفاده هستند. میتونم اینطور بگم ترکیب SASS, SUSSY, Compass و امگا چیزی شبیه <a href="http://twitter.github.io/bootstrap/" name="بوت استراپ" id="بوت استراپ">twittr Bootstarp</a> خواهد شد. سعی میکنم در مطالبی جداگانه بیشتر در مورد این قابلیت ها توضیح بدم.</p> <p>خوب دیدیم که استفاده از امکانات بالا چه مزیت های زیادی برای ما ایجاد میکنه. و چرا امگا۴ اینقدر تغییر کرده.</p> <p><strong>چقدر طولش میدی! خوب بالاخره میخوای بگی از امگا ۴ استفاده کنیم یا امگا۳؟</strong></p> <p>چرا عصبانی میشید؟ همه اینها مقدمه جواب همین سوال بود. شاید بشه در یک جمله اینطور گفت:<br /> اگر حرفه ای هستید یا میخواهید حرفه ای شوید از امگا۴ استفاده کنید. اگر نمیخواهید درگیر کد شوید و به مفاهیم بالا نیاز ندارید از امگا ۳ استفاده کنید.</p> <p>نمیخوام بگم استفاده از امگا۳ نیاز به مهارت نداره که اتفاقا خیلی نیاز به مهارت داره چون شما باید کدهای css خام بنویسید. اما مسئله اینه که بعد از نصب امگا۴ باید مفاهیم پایه HTML و css رو یکبار دیگه مرور کنید. باید ابزارهای جدیدی رو یاد بگیرید. باید مشکلات جدیدی رو حل کنید اما مسلما این در نهایت به شما احساس رضایت میده.</p> <p>امیدوارم بتونیم در آینده نزدیک آموزش هایی برای شروع به کار با امگا ۴ در سایت بزاریم. تا اون موقع اگر شما نکته جدیدی در مورد امگا ۴ یاد گرفتید میتونید در نظرات به ما بگید یا اگر دوست دارید یک مقاله بنویسید و در سایت به اسم خودتون منتظر کنید.</p> </div> <div> <div>دسته بندی مطلب</div> <div> <div class="uk-margin"><a href="/taxonomy/term/114" hreflang="en">متن باز</a></div> <div class="uk-margin"><a href="/taxonomy/term/107" hreflang="en">آموزش دروپال</a></div> <div class="uk-margin"><a href="/taxonomy/term/108" hreflang="en">قالب دروپال</a></div> </div> </div> <section> </section> Mon, 29 Jul 2013 19:38:27 +0000 عرفان بناکار 176 at https://drupalion.com https://drupalion.com/node/176#comments