1.چرا لایفری؟
دلایل ما برای انتخاب لایفری به عنوان بستر پرتال در ایران به شرح زیر است:
- توسعه ای مبتنی بر دنیای متن باز (کارفرمایان نباید وابسته به یک شرکت خاص باشند)
پرتال لایفری بهترین پرتال جهان در 9 سال گذشته مبتنی بر تفکر متن باز ایجاد شده است و کلیه امکانات نسخه CE آن متن باز می باشد. در کنار این مزیت مهم یک جامعه بزرگ از استفاده کنندگان و توسعه دهندگان وجود دارند که در حال توسعه و بهبود همیشگی این بستر می باشند. برخی از درگاه های مهم مرتبط با لایفری عبارتند از:
- سیستم تیکتینگ لایفری: https://issues.liferay.com/browse/LPS
- سورس لایفری و مدیریت نسخ در گیتهاب: http://github.com/liferay/liferay-portal
- تالارگفتگوی لایفری با بیش از 30 هزار عضو و نزدیک به چهارصد هزار پست: http://forums.liferay.com
- وبلاگ کاربران فعال: http://blogs.liferay.com
- مستندات توسعه لایفری: http://dev.liferay.com/
- از صفر آغاز نکنیم!
در پرتال لایفری دنیایی از امکانات در کنار یک محیط توسعه روان در کنار هم قرار گرفته اند تا ایده ها و اهداف پروژه های گوناگون را پوشش دهند. هیچ نیازی به آغاز یک برنامه مبتنی برجاوا از صفر نیست و میتوان از امکانات لایفری برای تسریع در پروژه ها استفاده کرد
- مجموعه ای غنی از چارچوبها، برنامه ها و کتابخانه ها
چارچوب لایفری حوزه های متعددی را برای توسعه پوشش می دهد نظیر:
- تولید محتوای وب
- شبکه های همکاری
- افزونه های غنی و مستقل
- فرم و گردش کار و ...
این چارچوب از یک هسته قدرتمند و لایه های مختلف مدیریتی نظیر
- کاربران و سازمانها
- احراز هویت و ورود
- مدیریت نقش ها
- نحوه نمایش و تم
برخوردار است.
- ساخت پرتالهای داخلی، اینترنتی، شبکه های اجتماعی و برنامه های موبایل در یک محیط یکپارچه
از سایتهای کوچک تا پرتال های چند صد هزار کاربره و حتی برنامه های موبایلی در بستر Android و IOS می توانند از پرتال لایفری به عنوان ابزار اصلی توسعه استفاده کنند، برای توسعه لایفری از هر زبان قابل اجرا در محیط ماشین مجازی جاوا می تواند استفاده نمود. نظیر Java, Scala, jRuby, Jython, Groovy, …
پرتال لایفری دارای یک کیت توسعه در موبایل نیز می باشد که استفاده از توابع پرتال در موبایل را در بسترهای مختلف تسهیل می کند.
2.معماری لایفری
- زبان
پرتال لایفری مبتنی بر Java EE توسعه داده شده است. هسته اصلی پرتال لایفری OSGi را به طور کامل پوشش داده است.
- استانداردهای لایفری
برخی از استانداردهای کلیدی پرتال لایفری نسخه 7.2 عبارتند از:
- Portlets 1.0 (JSR-168) and Portlets 2.0 (JSR-286(
- JSF (JSR-127, JSR-314, JSR-344)
- EcmaScript 2015
- Content Management Interoperability Services (CMIS)
- Java Content Repository (JSR-170(
- WebDAV
- SAML and OAuth 1.1
- JAX-WS and JAX-RS
- OSGi r6:
- OSGi runtime
- Declarative Services
- Auto-generated Configuration Admin UI
- تکنولوژی های لایفری
لایفری در انتخاب تکنولوژی های توسعه در نسخه 7.0 بسیار هوشمندانه عمل نموده است. تجربه AlloyUI در نسخه های پیشین که مبتنی بر YUI ایجاد شده بود موجب شده است این بستر در عین فراهم نمودن امکانات لازم برای برخورداری از جدیدترین تکنولوژی های روز مانند AngularJS، ReactJS، VueJS و ... وابسته به هیچ کدام از این تکنولوژی ها نباشد. ایجاد پروژه های زیرساختی قوی و قدرتمند نظیر MetalJS، SennaJS، Clay و.... قدرت مناسبی در این استقلال هوشمندانه به لایفری داده است و از طرف دیگر توسعه دهنده را نیز محدود به استفاده از کامپوننتهای لایفری نمی کند و استفاده از بسیاری از چارچوبهای روز دنیا امکان پذیر است.
در لایه Back-end لایفری ابزارهای زیراستفاده شده است:
- Spring برای مدیریت Transaction ها
- Hibernate برای دسترسی به پایگاه داده
- Elasticsearch برای Indexing و جستجو
- Ehcache برای کش کردن هوشمندانه موجودیتها
در لایه برنامه، یک توسعه دهنده می تواند از بسیاری از کتابخانه های جاوا استفاده کند همچنین در لایه رابط کاربری تکنولوژیها ابزارهای زیر قابل استفاده می باشند:
- Bootstrap
- SaSS
- EcmaScript 2015 (using Babel.js)
- Metal.js (developed by Liferay)
- jQuery (included)
- Lodash (included)
- Angular JS or Angular
- React
- هرکتابخانه دلخواه دیگر
در کنار این تکنولوژیها تیم طراحی لایفری یک زبان منحصر به فرد نیز به ابزارهای قابل استفاده در لایفری افزوده است: Lexicon، لکسیکن یک کتابخانه CSS فراهم می کند که استفاده از آن قدرت زیادی به توسعه دهندگان رابط کاربری می بخشد. اطلاعات بیشتر در https://liferay.github.io/clay/
در لایه تمپلیت، برنامه نویسان میتوانند از JSP، Free Marker و یا حتی Google's Soy استفاده کنند.
- معماری پرتال لایفری
تصویر زیر معماری پرتال لایفری را مبتنی بر بخشهای تشریح شده و استفاده از میکرو سرویس نشان میدهد
این معماری قدرتمند امکان توسعه ماژولار را فراهم می کند و بسیاری از نیازهای فنی و تکنیکی دانشگاه ها و سازمانها را پوشش می دهد.
3.طراحی گرافیکی پرتال لایفری
امروزه طراحی گرافیک وب یک رشته تخصصی است و به طراحان حرفه ای نیازمند است که ضمن درک کامل و دقیق مفاهیم وب، مفاهیم و ابزارهای به روز طراحی گرافیک را نیز بشناسند. الگوی بصری واحد در پرتال های تحت وب صرفا قراردادهای طراحی بین گرافیست و کارفرما نیستند و بلکه می بایست در تمام بخش های پروژه موجود و در دسترس باشند. پرتال لایفری نسخه 7.2 نه تنها از مفهوم Material Design پشتیبانی می کند بلکه در بستر Lexicon و Clay آن را به کار بسته است. از این رو شرکت ساین با همکاری تیم های تخصصی طراحی گرافیک و با استفاده از ابزارهایی همانند Sketch و Zeplin طراحی های منسجم و یکپارچه ای را بر بستر Lexicon لایفری ایجاد میکند که به عنوان یک UI Kit قابل استفاده در تمام تم ها و پرتلتهای پرتال می باشد. در حال حاضر Lexicon از طریق سایت Figma.com در دسترس می باشد.
با امکانات فوق کاربران مدیر پرتال می توانند:
- تم های جدید و فراگیری بسازند که تمام بخش های پرتال را تحت تاثیر قرار داده و تغییر دهد
- برای هر پرتلت یا صفحه CSS یا جاوا اسکریپت اختصاصی وارد کرده و تم را تغییر دهند
- به صورت Drag & Drop، صفحات جدید را بسازند
- به صورت Drag &Drop چیدمان های صفحات استاتیک را تغییر دهند (لایفری 7.2)
- فارغ از تم های کلی و سراسری پرتال، برای هر پرتلت دلخواه یک تم جدید طراحی کرده و به عنوان Application Design Template به پرتال وارد کنند.
- در توسعه تنها به کد بیندیشند و از جداسازی کامل کد و UI در بستر لایفری لذت ببرند.
4.امکانات پرتال لایفری
پرتال لایفری دارای امکانات زیر نیز می باشد:
ردیف | امکانات اختصاصی | توضیحات |
---|---|---|
| مدیریت زیر سایتها برای استانها، همایش ها و .... |
|
| ارتباط با سیستم های داخلی |
|
| پرتلت دفترچه تلفن کارفرما |
|
| واقعه نگاری |
|
| کانورت پرتال قبلی |
|
| فرم ساز حرفه ای |
|
| کیت توسعه پرتال |
|
| پرداخت الکترونیک |
|
| پشتیبان گیری مستقل |
|
| مدیریت صفحات |
|
| نمایشگر دسته ای مطالب |
|
| پورتلتهای تو در تو |
|
| جستجو در فایلهای Word، PDF و سایر فایلهای متنی |
|
| مدیریت اخبار |
|
| مدیریت منو |
|
| گالری عکس |
|
| خواندن RSS خبری |
|
| خروجی RSS |
|
| آرشیو پورتلت ها |
|
| تقویم مناسبت ها و رویدادها |
|
| نظرسنجی |
|
| مدیریت کاربران |
|
| فرم عضویت |
|
| چندزبانگی |
|
| مسیر جاری |
|
| نقشه پرتال و ارسال به موتورهای جستجو |
|
| CAPTCHA |
|
| نسخه چاپی، ارسال به ایمیل، PDF |
|
| ماژول ایجاد فیلد جدید در تمام محتواها |
|
| Google Analytics |
|
| Multi Upload |
|
| مدیریت دسته بندی مطالب و تگ ها (Tag & Category) |
|
| تالار گفتگو |
|
| جمع کننده وبلاگ ها |
|
| آخرین وبلاگ نویسان |
|
| لوگو |
|
| سیستم مدیریت محتوا |
|
| پورتلت کتابخانه اسناد |
|
| نقشه سایت |
|
| استفاده از سرویس های گوگل |
|
| تبدیل واحد |
|
| شکل ظاهری و چیدمان |
|
| تم ریسپانسیو |
|
| گردش کار |
|