ПредишенСледващото

Това ръководство описва в детайли процеса на създаване на портлети за рамка Liferay портал Myramistin Wicket.

Всички части на ръководството:

В изходния код на развита пример е достъпно на GitHub.

Поздравявам всички вас, скъпи потребителски рамка Wicket!

Разбирам, че имате съществува спешна необходимост от разработване на една или две непретенциозен Портлет за Liferay Portal, и това е защо решихте да прочетете това ръководство? Ако е така, тогава аз ще се опитам да ви покажа в детайли как да се създаде малък Портлет използване Wicket.

Просто искам да предупредя, че Wicket - не най-добрият избор сред рамки за създаване портлети. Вградени портлети разработчиците сами не използват, така че не се очаква от вградените богати инструменти за бърз и лесен изпълнение на всички функции, описани в спецификацията на Портлет. Какво можете да очаквате, това е определено количество без документи "капани", както и да се промени в близко бъдеще тази ситуация не можеше да се разчита. Но въпреки всички препятствия, създаване на пълнофункционален Портлет въз основа на Wicket е напълно възможно. Така че, ако имате много дни и нощи, посветени на развитието Wicket'ovskih Panel'ey, Page'y и други Component'ov, а след това можете да продължите в същия дух и развитието на Liferay. Колкото по-голяма сложност, толкова по-ценен, аз се надявам това ръководство ще бъде за вас.

Имайте също предвид, че повече ще се фокусира върху следните версии на инструментите и спецификации:

  • спецификация Портлет JSR-286.
  • Рамковата Apache Wicket 1.4.x.

Факт е, че Wicket 1.4.x към 1.5.x За разлика от класове за създаване на портлети все още са в основата на рамката. В Wicket 1.5.x те са в отделен проект - wicketstuff-Портлет-1.5.x.jar. Така че можете да се развива с помощта на портлети Wicket 1.5.x, но това би трябвало да бъде в CLASSPATH няколко допълнителни JAR-работници.

Мисля, че това ръководство може да се използва при разработването на портлети за Liferay версия 6.1.0. Все пак трябва да се има предвид, че по време на това писание Вградени-портлети не работят по Liferay 6.1.0 поради грешка: java.lang.IllegalArgumentException: Грешка при подготовката WicketFilter - вие нямате елемент с URL-модел, който използва филтър: AchievementPortlet да разрешите този проблем, можете да опитате с подхода, предложен тук. Същността му се състои в това, че просто трябва да се добави ред в Liferay-уеб-XML-съвместим = фалшив в liferay-plugin-package.properties файл. Това изключва добър пакет от уеб-филтри, използвани Liferay за вътрешни нужди, но ние все още се нуждаят от тях, нали? Както и да е, единствената опция деактивира автоматичното създаване на филтри, и винаги можете да ги добавите ръчно да Liferay-web.xml файл, веднага след като те са необходими! Но това е друга история ...

Какви са всички един и същ дизайн?

Както аз се надявам, стана ясно, създавайки Портлет за Liferay използване Wicket е голямо предизвикателство. И изпълнението на който и да е трудна задача, може да се разглежда като вид постижение. Това ще бъде темата на нашия Портлет: тя ще се появи информация за някои от постиженията (постижения) на страницата, като текст. Информация за постижение ще бъде изпълнен в режим на редактиране на Портлет това лице, за да добавите Портлет на страницата, и ще продължи да му напомня за неговия успех.

Подготовка за развитие

Да започнем развитие, ние трябва да са инсталирани и конфигурирани следните неща:

Разопаковайте съдържанието на изображението, например, в /home/user/liferay/liferay-portal-6.0.6 папка (по-нататък - LIFERAY_HOME). След това по пътя към сървъра на портал ще бъде нещо като /home/user/liferay/liferay-portal-6.0.6/tomcat-6.0.29 (по-нататък - LIFERAY_TOMCAT_HOME).

Разопаковайте съдържанието на изображението, например, в /home/user/liferay/liferay-plugins-sdk-6.0.6 папка (по-нататък - LIFERAY_SDK_HOME).

3. Не е задължително, но е желателно позиция е Liferay IDE - приставка за Eclipse. Можете да го намерите, например, в Eclipse Marketplace. Този плъгин ще помогне да се намали времето при извършване на рутинни операции.

Ние се създаде среда за разработка

Е, така признавам зададете Liferay IDE за Eclipse? Поетапно? Браво! Мисля, че ще бъде в състояние да се отрази това постижение като Портлет, след като сме се развива.

Но всичко си има време, но сега се обърне внимание на панела с три сини бутони, което се появява в Eclipse, след като инсталирате плъгина:

Първоначално, нека Liferay IDE, където Plugins SDK:

  • Обадете се на контекстното меню за една трета от бутоните на панела, изберете го в позицията "Ню Liferay SDK".
  • Влизаме в диалоговия прозорец, в "Град" по пътя към директорията, в която rapolozhen SDK. В нашия случай, тази стойност LIFERAY_SDK_HOME.
  • Затворете диалоговия прозорец Properties "Prerefences" чрез натискане на бутона "ОК".

Също така добави сървъра, за да свършат Liferay Eclipse:

  • В контекстното меню за третия бутон, изберете елемента "Нова Liferay сървър".
  • В показалия се прозорец изберете вида на сървър, който се използва за изпълнение Liferay. В нашия случай това е "Liferay v6.0 CE сървър (Tomcat 6)." Щракнете върху бутона "Next".
  • В "директория Liferay Tomcat" на въведете пътя към сървъра Tomcat използва за изпълнение на Liferay, това е в нашия случай, LIFERAY_TOMCAT_HOME на стойност.
  • Щракнете върху бутона "Finish".

Как да бъде, ако не можете да инсталирате плъгина? Може би имате във вашия офис с интернет проблеми, или просто не могат да понасят да инсталирате добавки? Няма значение! Ти просто трябва да направите следното:

  • Създайте файл в build.user.properties на директория LIFERAY_SDK_HOME, където потребител - вашето потребителско име на операционната система, на един ред:
Разбира се, вместо да се пише стойност от $ LIFERAY_TOMCAT_HOME, което означава, че пътят към сървъра директорията на Tomcat, който се използва за изпълнение на Liferay.

  • Добави сървър от LIFERAY_TOMCAT_HOME като нормална Tomcat сървър в Eclipse.
  • След сървъра се появява в раздела "Сървъри", изберете от контекстното меню за този сървър "Open".
  • В прозореца Настройки на сървъра на който искате да промените, както следва:
    • В "Сървърни Locations" изберете "Използване на Tomcat инсталация".
    • В "Внедряване на пътя" по-долу, за да укажете пътя до папката $ / webapps.
    • В "Книгоиздаване" изберете "Никога не публикувайте автоматично".
    • В секцията "Времето за изчакване" за двете кратки прекъсвания ( "Start (в секунди)" и "Stop (в секунди)"), за да посочите стойност от 300 секунди.
    • Кликнете върху линка "Отворено конфигурация изстрелване", а в прозореца, който се появява на "аргументи" в раздела, уточни следните допълнителни аргументи право да започне JVM:

Номерът е да се направи. Сега вие също можете да стартирате и спрете Liferay.

Създаване на среда за разработка, ако се използва не-Tomcat'ovskaya монтаж Liferay портал няма да бъде толкова просто, както е описано по-горе - и двете с помощта Liferay IDE за Eclipse плъгин, и без него. В допълнение, използването на сървъра, в допълнение към Tomcat, Liferay за развитие е изпълнен с определени ограничения (например, загуба на способността за отстраняване на грешки портлети). Някои съвети за развитие на организацията с помощта на не-Tomcat'ovskoy Liferay монтаж са описани, например, тук.

Така че, е дошло времето - ще създадем проект Портлет.

Създаване на Портлет използване Liferay IDE за Eclipse

  • Кликнете върху първия бутон в панела Liferay IDE "Създаване на нов Liferay Plugin Проект".
  • В прозореца, който се появява:
    • Въвеждане на "постижение" в "Име на проекта" поле.
    • Въвеждане на "постижение" в "името" поле.
    • Като вида на проекта (поле "Plug-in Type"), изберете "Портлет".

В резултат на това прозорец създаване Портлет проекта ще изглежда по следния начин:

Създаване на Портлет за Liferay с помощта на вградена

  • След като кликнете върху бутона "Finish", ще бъде създаден нашия проект.

Създаване на Портлет без помощта на Liferay IDE за Eclipse

Всичко това е малко по-сложно. Но след това, понякога може да искате да създадете Портлет по този начин, например, ако искате да съхранявате на вашия проект някъде, в допълнение към някоя от папките Liferay Plugins SDK (което Liferay IDE плъгин изисква задължителна основа). Извършване на следния алгоритъм ще ни доведе до желаната цел:

  • Отидете на $ / портлети и създаване на проект с помощта на командата

в зависимост от това кой отбор ще работи на вашата операционна система.

  • Добавяне на проекта на Eclipse плъгин без помощта на "Liferay IDE за Eclipse". За да направите това:
    • Изберете от меню "Файл"> "New"> "Динамичен уеб проект". Както името на проекта ( "Име на проекта") въведе постижение-Портлет, махнете отметката "Мястото Използване по подразбиране" на.
    • Посочете местоположението на проекта в "Местоположение" поле.
    • Посочете зададения сървър ( "Насочване по време на работа") и уеб версия на модула ( "Динамичен уеб версия на модула") за нашия проект, щракнете върху "Next".
    • На следващия раздел, отстранете стария източник директория в "Източник папки на натрупване път" и се добавя към docroot / WEB-INF / SRC. В "изходната папка по подразбиране" въведе docroot / WEB-INF / класове. Натиснете бутона "Next".
    • На следващия раздел в "Съдържание Directory" печат docroot. Премахнете отметката "Генериране web.xml ЕВРОВОК разгръщане".
    • Натиснете бутона "Finish".
  • За да се избегне съставяне на грешки в свойствата на проекта в раздела "Java Build Path" -> "Библиотеки" трябва да се даде следните библиотеки:
    • Tomcat библиотеки, използвани, за да започне Liferay (намира се LIFERAY_TOMCAT_HOME начин).
    • Следващите библиотеките са разположени на пътя $ / webapps / ROOT / WEB-INF / ИЪ:
      • Commons-logging.jar
      • Util-java.jar
      • Util-taglib.jar
      • Util-bridges.jar

В резултат на това, ние получаваме

Като резултат от нашето постижение-Портлет проект ще има следната структура:

Създаване на Портлет за Liferay с помощта на вградена

Грешки в този случай се дължи на факта, че Eclipse не успя да направи разбор на структурата на JSP-файл. Нищо лошо в това, особено след като JSP-файл ние все още се нуждаят от нея.

Задайте Портлет на Liferay да използвате Ant-Tasca "разгърне". След стартиране на сървъра Liferay вътре в Eclipse, Портлет могат да бъдат добавени към страница, портал, и тя ще бъде както следва:

За пълно щастие добавите към либералните папката на проекта няколко JAR-файлове:

  • вратичка-1.4.x.jar
  • вградените-разширение-1.4.x.jar
  • slf4j-апи-1.y.z.jar
  • slf4j-log4j12-1.y.z.jar

Вместо X, Y и Z, заместващи номера на тези версии на библиотеки, които сте най-много ще харесат. вградените-разширение-1.4.x.jar библиотека имаме нужда, защото някои съдържащи се в него, функционалността AJAX.

Сега всичко е възможно да се започне и да се развива.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!