#Liferay development
Explore tagged Tumblr posts
Text
Hire Liferay Developers from Best Liferay Development Company
Aspire is the best Liferay Development Company in USA, UK, Australia, and 20+ other countries. We provide Liferay DXP solutions to many businesses such as enterprises, SMEs & startups. Hire Liferay developers team from Aspire to take your business to the next level.
0 notes
Text
Benefits of Using Liferay
Choosing the right Liferay development service provider is critical to the success of your Liferay project. The Liferay consulting company provides a high-quality, cost-effective, and customized solution that meets your specific needs.
Here are some key advantages:
Unified Platform: Liferay provides a unified platform for creating and managing digital experiences. It allows organizations to consolidate various digital assets, applications, and content in one central hub.
Versatility: Liferay's versatility is a significant benefit. It supports a wide range of use cases, from building enterprise portals and intranets to developing customer-facing websites, community platforms, and e-commerce solutions.
Open Source: Liferay is an open-source platform, which means that the source code is freely available and can be customized to meet specific organizational requirements. This openness fosters innovation and collaboration within the developer community.
Hello We are Liferay Be Connect
Customization and Extensibility: Organizations can customize and extend Liferay to fit their specific needs. The platform supports the integration of third-party applications, and developers can build custom plugins and extensions.
Scalability: Liferay is designed to scale, making it suitable for organizations of varying sizes. Whether it's a small intranet for a local business or a large-scale enterprise portal, Liferay can handle different levels of complexity and traffic.
Responsive Design: Liferay supports responsive web design, ensuring that digital experiences created with the platform are accessible and user-friendly across a variety of devices, including desktops, tablets, and smartphones.
Community Support: Liferay has an active and engaged community of developers, users, and contributors. This community support provides a valuable resource for sharing knowledge, addressing issues, and staying updated on the latest developments.
Security Features: Liferay places a strong emphasis on security. It includes features such as user authentication, role-based access control, and secure communication protocols to help organizations safeguard their digital assets and user data.
Content Management: Liferay's built-in content management system (CMS) allows organizations to efficiently create, manage, and publish content. This is crucial for maintaining a dynamic and engaging online presence.
Collaboration and Communication: The collaboration tools within Liferay, such as wikis, blogs, forums, and social networking features, facilitate communication and collaboration among users, both within and outside the organization.
Workflow and Business Process Management: Liferay supports workflow and business process management, allowing organizations to automate and streamline their operations. This is particularly useful for complex business processes that involve multiple stakeholders.
Ecosystem of Apps and Extensions: The Liferay Marketplace provides a wide range of apps, themes, and extensions that organizations can leverage to enhance and extend the functionality of their Liferay-based solutions.
0 notes
Text
How to Integrate Stripe Payment with Liferay: A Step-by-Step Guide
Introduction
There are mainly two ways to implement stripe payment integration
1. Prebuit Payment Page
This payment provides by the stripe so we do not need to code for it.
It has all functionality coupons for discounts, etc
The UI part for the payment integration is fixed. We cannot change it.
Need to create a product in the stripe dashboard.
And only passing quantity at payment time total price and discount all those things managed by the stripe.
2. Custom Payment flow
This flow will use when we have a custom payment page or a different design
And customization from the payment side and only the user will do payment only not specify any product.
In this flow, no need to create a Product for the payment.
Need to create below APIs
Create-payment-intent API: add payment-related detail in the stripe. It will return client_secret for making payment.
Webhook
Need to do the below things from the FE
Confirm Payment: It will take the card detail and client_secret that we got from the create-payment-intent API.
We are going to use a custom payment flow for the Event Module Payment integration.
Object Definition for the Stripe
Introduction
We are using the stripe for payments but in the feature, there might be clients who will use other payment service provider use.
So, using two objects we will handle it
Payment Object that contains unique data like used, stripe user id, type, and relation with Calander Event Payment object
Calander Event Object contains data related to the Event.
Payment objects have one too many relations with the Calander Event Object.
P-Flow for the Stripe payment integration
We will perform the below operations for Stripe payment integration in the Calander event.
Create a customer in Stripe while the Liferay user gets created.
Add create a customer in register API
Also, while the Liferay user gets created using the Liferay admin panel
Create Payment Intent API for adding payment related in the stripe and take payment stripe ID for confirm Payment
Add the same detail in the Liferay object with event data (status – pending) while they call payment intent API.
Custom method for customer management for stripe
private void stripeCustomerCrud(User user, String operationType) { // If operation type is not equal to create, update, or delete, give an error if (!Arrays.asList(CREATE_OP, UPDATE_OP, DELETE_OP).contains(operationType)) { log.error(“Operations must be in Create, Update, and Delete. Your choice is: ” + operationType + ” operation.”); return; }
try { Stripe.apiKey = “your api key”; String stripeCustomerId = “”;
// Get Stripe Customer ID from the user custom field when operation equals to update or delete if (operationType.equals(UPDATE_OP) || operationType.equals(DELETE_OP)) { ExpandoBridge expandoBridge = user.getExpandoBridge(); stripeCustomerId = (String) expandoBridge.getAttribute(STRIPE_CUST_ID);
if (stripeCustomerId == null || stripeCustomerId.isEmpty()) { throw new NullPointerException(“Stripe Customer Id is empty”); } }
Map<String, Object> customerParams = new HashMap<>();
// Add name, email, and metadata in the map when operation equals to create or update if (!operationType.equals(DELETE_OP)) { Map<String, String> metadataParams = new HashMap<>(); metadataParams.put(“liferayUserId”, String.valueOf(user.getUserId()));
customerParams.put(“name”, user.getFullName()); customerParams.put(“email”, user.getEmailAddress()); customerParams.put(“metadata”, metadataParams); }
Customer customer = null;
// Operation-wise call a method of the stripe SDK if (operationType.equals(CREATE_OP)) { customer = Customer.create(customerParams); setExpando(user.getUserId(), STRIPE_CUST_ID, customer.getId()); } else if (operationType.equals(UPDATE_OP)) { Customer existingCustomer = Customer.retrieve(stripeCustomerId); customer = existingCustomer.update(customerParams); } else if (operationType.equals(DELETE_OP)) { Customer existingCustomer = Customer.retrieve(stripeCustomerId); customer = existingCustomer.delete(); }
log.info(operationType + ” operation is performed on the Stripe customer. (Data = Id: ” + customer.getId() + “, ” + “Name: ” + customer.getName() + “, Email: ” + customer.getEmail() + “)”);
} catch (NullPointerException e) { log.error(“Site custom field does not exist or is empty for the Stripe module: ” + e.getMessage()); } catch (StripeException e) { log.error(“Stripe Exception while performing ” + operationType + ” operation: ” + e.getMessage()); } }
Webhook API
Params: payload and request
This API will call when any update is there for the specified payment
We must update the Liferay Object according to the status of the payment Intent Object. A few statuses are below of Payment Object
payment_intent.amount_capturable_updated
payment_intent.canceled
payment_intent.created
payment_intent.partially_funded
payment_intent.payment_failed
payment_intent.requires_action
payment_intent.succeeded
APIs wise Flow for the Stripe payment integration
Create Payment Intent API
Using Payment Intent API, we insert transaction data and status as incomplete in the stripe, so it takes a few parameters like Liferay user id, calendar event id, stripe customer id, total amount, and currency. It will return the payment Intent id and client secret.
Get User Payment Detail Id if Not Prent Then Add
Get the Parent object Id from the below API for passing it into
We need the id of the parent object to make a relationship so we will call the user payment details headless API by passing the Liferay user id from the session storage. It will return the id in the items for the POST eventpayments API.
If the above API items tab is empty, then you need to add user-related data in the user payment details object and take the id from the response and pass it in POST eventpayments API.
Add Data in Calendar Event Payment Object
The calendar Event object is used to track the event payment transaction data in our database.
To add an entry in the calendar event object after the payment intent success response because we are passing payment intent id as transaction id in the Object.
Add prices, quantity, payment status (default – in Complete), tax amt, total amt, transaction Id(Id from the create payment intent response), r_event_c_payment_id(id from the userpaymentdetails headless API), site id as 20119 as default value.
Conclusion
Integrating Stripe payment functionality with Liferay Development has proven to be a seamless and efficient solution for businesses seeking to streamline their online payment processes. By implementing this integration, businesses can offer their customers a secure and convenient payment experience, leading to increased customer satisfaction and loyalty.
Read More Stripe Payment Integration With Liferay
0 notes
Text
The Liferay Development Company wanted to create an enterprise platform that helps businesses create digital experiences. Liferay development services provide businesses with the ability to create a portal in multiple languages. This is important for businesses that want to reach a global audience.
0 notes
Text
Discover how Liferay Portal implementation enhances personal data security for financial institutions through effective PII masking. Learn about the benefits, strategies, and best practices for protecting sensitive information while ensuring compliance with privacy regulations.
0 notes
Text
Liferay Theme Development Services
Surekha Technologies is a globally trusted company providing liferay theme development services, portal development, and Liferay DXP with 7.3, 7.2, 7.1, and 7.
0 notes
Text
A Journey of Growth, Learning, and Triumph with an Auto Major
Our inspirational journey about a renowned Auto Major deciding to join hands with us to scale its digital footprint worldwide
We believe that in the ever-evolving landscape of technology, collaboration and innovation can surface remarkable transformations. Almost two years back, we set sail on one such inspirational journey when a renowned Auto Major decided to join hands with us to scale its digital footprint worldwide.
The result? A story of unwavering determination, profound growth, and an incredible transformation that extended beyond just the companies themselves.
From 8 to 100+ - The Journey of Digitization
Good work speaks for itself! Evon, a trusted Liferay portal development company, was recommended to the client by another company we had worked with. So even before that first call came, we were aware that we had to do our best to live up to the expectation. We did not disappoint. We were set to create secure applications and international business websites that would pave the way for the motor company to reach a wider international audience, digitally.
The COVID-19 pandemic has changed life, public health, and business altogether. The organization was already in the process of implementing digital transformation, pre-pandemic. However, there was a need to implement more digital capabilities in their work operations, and fast. Earlier, the customers went to the showroom to learn about the products and make a purchase. Now they needed to do that and more from the comfort of their homes through applications that we had to create.
At the very first step, our developers had to learn all about Sitecore, a closed-source software platform, and deliver a part of the product in a few week’s time. While the learning curve was steep, some developers were unsure about spending time learning a technology that was not sought-after. Nevertheless, the successful delivery of the product was valued by the client as it showcased our team’s sincerity and level of commitment.
Then, Sitecore was a very expensive platform. Evon already had the expertise to solve this problem for the client. We proposed a shift from Sitecore to Liferay, a digital experience platform, for the client’s digitization in one of the neighboring countries. The decision and the switch were not easy but the major advantage of bringing down the cost of the project to 1/10th of the original stood above all. The result was another successful delivery of a project, this time helping our client cut costs significantly!
Going forward, we realized centralized data (large databases) was hard to scale so we had to segregate the data according to different regions and migrate it to Liferay. Over time, we were able to make the data independent, proving that the solution we had suggested was scalable and the right choice for fulfilling the client’s requirements.
Ever since we have been working together on various projects to achieve digital transformation. While helping them build secure mobile applications and international business websites across countries, we have been automating manual processes, reducing errors, and improving their overall productivity and efficiency. As the number of projects we were assigned increased, so did our commitment and the strength of our team - from 8 to 100+.
Our 2 years of Association: A Learning Expedition
The journey was not easy, but it has been one full of learning. We were bent on delivering a meaningful and personalized customer experience while keeping the client’s customers at the heart of our strategy.
As we delved deeper into the digital transformation process, we met with many challenges. Be it having to learn a new technology as fast as possible, or tight deadlines making our team train and work parallelly, to meet release deadlines. However, it was precisely in such moments that Evon’s team discovered its untapped potential, resilience, and collective strength. We honed our skills and emerged stronger and more confident. Read more - A Journey of Growth, Learning, and Triumph with an Auto Major
0 notes
Text
#Liferay Development#Blockchain Solutions#Best Software Companies in Ahmedabad#Java developer in Ahmedabad#ERPNext Development
0 notes
Text
Liferay Consultancy
When it comes to Liferay consulting services, we’re not about one-size-fits-all solutions. Our approach is deeply rooted in customization. We understand that every business is unique, and your Liferay experience should reflect that uniqueness. At the core of our services is the idea of tailoring solutions to perfectly fit your business needs. Read More
0 notes
Text
Need a top-notch Liferay development partner in the USA? I've compiled a list of the leading companies in 2024 based on expertise & client satisfaction. These companies will take your project to the next level.
0 notes
Text
Is it worth to let us learn Liferay?
The value of studying Liferay is determined by your unique objectives, goals, and the environment of your job or projects. Liferay is a web platform designed especially for the development of enterprise-level websites and portals.
You can concern to Liferay development companies. Here are some things to think about when considering whether or not to study Liferay:
Job Opportunities: If there is a high need for Liferay developers in your area or sector, understanding Liferay might help you get a better job. Examine job postings and industry trends to determine the level of demand for Liferay abilities.
Enterprise Solutions: Liferay is frequently used to create complicated business solutions, such as intranet portals and collaboration systems. If you work on projects that require such solutions, knowing about Liferay might be advantageous.
Specific Project Requirements: If you're working on a project or in an organization that uses Liferay, studying it will help you contribute effectively and grasp the technological stack.
Open Source Community: Liferay is an open-source platform, which means there is an active community of developers and users. This might be advantageous if you love working with open-source technology and appreciate community support.
Learning Curve: Consider your current skill level as well as the learning curve connected with Liferay. If you're already experienced with Java and web programming, learning Liferay may be easier.
Alternatives: Determine whether there are any alternative technologies or frameworks that would be more aligned with your objectives. Consider the larger web development trends and if Liferay fits into your long-term career goals.
Liferay's future perspective: Consider Liferay's future perspective. Examine the technology for updates, the roadmap, and community conversations to verify that it is evolving and remaining relevant.
Personal Interest: Finally, examine your own personal interest in the technology. If you are interested in Liferay and love working with it, the learning experience will be more pleasurable and satisfying.
Finally, learning Liferay or any other technology should be aligned with your professional ambitions, market demand, and the unique requirements of the projects you're participating in or interested in pursuing. Seek guidance from pros in your sector whenever feasible, and remain current on industry developments to make an informed conclusion.
#liferay#engineering#tech#technology#liferay consultancy#liferay development#liferay portal#liferay technology#software#engineer
1 note
·
View note
Text
What is an Enterprise Portal? Why Liferay Is The Best Technology For Developing The Enterprise Portal
An enterprise portal is a web-based platform that provides employees, customers, and partners with a single point of access to information, applications, and communication tools. It is designed to streamline business processes, improve collaboration, and enhance productivity by providing users with personalised and relevant content based on their roles and responsibilities.
Personalised content, search functionality, collaboration tools, and interaction with enterprise systems are common aspects of enterprise portals. They are intended to increase communication and cooperation, streamline business processes, and boost productivity by giving users a single point of access to the resources they require to complete their activities.
Let’s take a look at what Enterprise Portal development services are.
Web-based portals that act as a central hub for enterprise applications, data, and services are created as part of Enterprise Portal development services.
Portal design, modification, integration, maintenance, and support are among the services offered.
These services are often provided by software development firms to assist organisations in developing customised portals that match their individual demands and objectives.
By streamlining company processes and offering a single point of access to enterprise systems and data, Enterprise Portal development services aim to promote collaboration, productivity, and efficiency.
Enterprise Portal development services can assist firms in integrating many enterprise systems such as CRM, and HR management systems into a single portal, making data sharing and collaboration easier.
Liferay technology enables businesses to construct websites, intranets, and other web-based applications. It provides tools and features that make it easier for businesses to create interactive and personalised web experiences for their users. It is written in Java and is meant to be a scalable and stable solution for developing enterprise-grade portals. It has a huge and active developer and user community that contributes to its development and provides assistance. Liferay is adaptable and can be adjusted to unique business requirements, making it a popular solution for businesses of all sizes.
Liferay is the best technology for developing enterprise portals due to its unique features and benefits, such as:
Flexible and Configurable: Liferay includes a large number of pre-built components, themes, and templates that may be customised to create unique and engaging portals adapted to specific business requirements.
Open-Source: Because Liferay is an open-source technology, businesses can use and change the software for free, making it a cost-effective and accessible option for organisations of all sizes.
Scalable: Liferay is built to manage large-scale enterprise deployments and can scale to support millions of users and massive amounts of data. This makes it an excellent platform for enterprises that must manage large amounts of data and traffic.
Robust and Reliable: Liferay has robust security features that help protect sensitive data and prevent unauthorized access to the portal. It includes features such as user authentication, access control, and encryption, which ensure that only authorized users can access the portal.
Integration: Liferay can easily integrate with other enterprise systems, such as CRM, and HR management systems, making it easy to share data between different systems and create a seamless user experience.
Active Community: Liferay has a large and active community of developers and users who are constantly working on improving the technology, adding new features, and providing support.
User-Friendly Interface: Liferay offers a user-friendly interface that is easy to navigate, making it ideal for both novice and experienced users.
The potential of Liferay in the development of enterprise portals.
Liferay is an open-source platform that is both sturdy and scalable, making it ideal for the creation of enterprise portals. It offers a complete set of tools and capabilities that allow firms to create customised portals for a variety of reasons.
One of Liferay’s primary features is its adaptability. It has a modular architecture that enables developers to easily add, delete, or change features as needed. This implies that instead of being constrained by the possibilities of a pre-built solution, firms may construct portals that are customised to their specific needs.
Finally, Liferay technology provides an extensive collection of tools and functionalities, making it the finest solution for constructing enterprise portals. Its scalability, adaptability, open-access, resilience, dependability, integration, and user-friendly interface make it an ideal platform for optimising business operations, improving collaboration, and increasing productivity. Developers can quickly customise portals to unique company needs using Liferay’s modular architecture, and add or remove functionality as needed. Liferay’s potential in enterprise portal development originates from its ability to handle large-scale corporate deployments, manage massive amounts of data and traffic, and easily interact with other enterprise systems. Overall, Liferay technology is a good solution for businesses looking to create customised and scalable portals that meet their specific demands and goals.
Originally published by: Why Liferay Is The Best Technology For Developing The Enterprise Portal
#Enterprise Portal development services#API in Digital Transformation#Liferay for Enterprise Portal development#Liferay Portal development#Liferay developers
0 notes
Text
Liferay is one of the most popular JSR compliant open source portal. This can be used to drive multiple websites with variety of features and look and feel. Liferay is developed in Java and the major portlet development on it is also supported by Java and few other languages. The latest releases of liferay has been really feature rich and seen a increasing demand in liferay developers in recent past. Managing multiple websites using single liferay server installation is one of the main reason of liferay gaining popularity. Liferay jobs are really high paying jobs due to being specialized in portlet segment of java web application development. There are many other portals available with free and paid options. To be highly valuable developer you must focus your knowledge to the JSR way of portlet development, this will ensure you can do development on any other JSR comliant portal as well. Another positive aspect of Liferay portlet development is "The Liferay marketplace", this can give you an opportunity to develop and sell your own portlet to big businesses and grow your own business. I have worked on liferay for more than 5 years and found that following interview questions are must know before getting a decent liferay developer job. What is a Liferay Portal? In general, a web portal represents a web application that provides a single point of access to variety of information. Functionality of a portal can extended very easily by creating custom applications that can run inside a portal. These applications are called portlets. For running portlets you need application server that can run a portlet container spec (JSR168 or JSR286). There are dozens of free and enterprise portal products available. Liferay portal is an open source portal and below are the benefits of using Liferay portal: Content management system(Documents, Articles). 2-stage,3-stage workflows and publishing. Social networking. 4)Sites and organization basis pages. Integration with third party like LDAP, Solr, SSO(CAS, Siteminder). Portlets realted to Wiki's, News, Finance, Social, Workflow, Collaboration. Compatible with different Operating systems, databases and APP servers. Compatible with UI technologies and web services. Compatible with different scripts like PHP, Ruby, Grails, Python. Suppport of hot deployment feature. What is a Portlet? Liferay portal comes with different portlets by default. These portlets are nothing but different small applications running in the instance(portal). Portlets are pluggable software components that are managed in a web portal. In general words you can call them as different catalogues as portlets produce fragments of markup code that are aggregated into a portal. So a portal page is displayed as a collection of portlet, thease multiple small applications together making a page of the site and these all pages together makes one community or enterprise portal. Hence a portlet (or collection of portlets) resembles a web-based application that is hosted in a portal. Portlet is a small application to fulfill the requirement of certain domain. Inter portlet communication is supported under Liferay portal. Portlet support hot deployment feature of Liferay Portal. What is the difference between Hook, EXT and Portlet? Liferay provides 3 ways to extend the functionality of a Liferay portal. Each of the way fits is good for different needs. Hook Liferay portal comes with a bundle where all the default built in portlets exist. Typically if any customization required in terms of JSP (UI) and portal properties. We need to go by Hook implementation. Hook is supported by hot deployment. Liferay documentation suggests that - Whenever possible, hooks should be used in place of Ext plugins, as they are hot-deployable and more forward compatible. Some common scenarios that require the use of a hook are When you have to perform a custom action on portal startup When you have to perform a custom action on user login
When you need to overwrite or extend portal JSPs When you need to modify portal properties When you need to replace a portal service with your own implementation. EXT Liferay EXT Plugins are the most powerful way to extend the portal functionality. If any customization required in the core level classes then it can be done through EXT for example LDAP users and user groups import modification. but here in EXT, restart would be required. EXT Plugins should be used only in case the portal functionality can not be extended using Portlet of Hooks. The EXT plugins are complex to develop and may cause maintenance issues in case you are trying to upgrade. From liferay documents, The main use cases in which an Ext plugin may be used are: Customizations to portal.properties (that is not supported by Hook Plugins) Customizing and making changes to the Struts Actions for portal Customizations of the Liferay beans declared in Liferay's Spring files Adding JSPs that are referenced from portal properties that can only be changed from an ext plugin (be sure to check if the property can be modified from a hook plugin before doing this) Direct overwriting of a class (not recommended unless it's strictly necessary) Portlet Portlets are the most common and easiest way to extend and provide a custom functionality for a liferay portal. This is a small application to fulfill the requirement of certain domain. It is basically a bunch of code(Java Files, JSP, CSS, Java Scripts etc.). Portlet is supported by hot deployment. Liferay also has a marketplace where a lot of useful portlets are available for download and these portlets can contributed by anyone in the world. We recently contributed a Speed reading portlet and a My IP Address portlet in this marketplace for free use by liferay community. What JSR version Liferay implements? Why JSR compatibility is important while choosing a portal? JSR is a "Java Specification Request". Liferay Portal is developed to adhere to JSR 168 and JSR 286 specifications. This specification is created by committee of JEE portal vendors. This specification is designed to achieve interoperability between different portals and portlets. Liferay supports mainly below JSRs. JSR-168(Portlet 1.0) JSR-286(Portlet 2.0) JSR-127(JSF 1.0) JSR-170 JSR-314(JSF 2.0) JSR-329 Why these standards are defined? These standards are defined for the benefit of portal users (end customers). Before these standards were born, portal customer were required to use one portal and there was no easy way to switch between different portal vendors. Earlier portal were very vendor specific and all functionality were developed using proprietary API, technology and programming techniques. The JSR 168 and JSR 286 standards have defined the way portlets can be developed that will help users in long run. Benefits of Following JSR Standards Following these standards will ensure that there is no vendor lock in. However this can be guaranteed only when the portlets are developed sticking to the standards. What is a Portlet Lifecycle? Following is the portlet lifecycle: init():It mainly initializes the portlet. render(): It takes the HTML output to User Interface. It mainly render the view in term of JSP/HTML code and show into the respective portlet. Destroy: This method takes care of releasing the portlet resources. What Is The Difference Between View Mode And Edit Mode Of Portlets? The modes of a portlet are typically related to the types of operations a user can perform on the portlet. A view mode is where users are allowed to do read only operations, whereas in edit mode user can add/update the data in the portlet. Each portlet mode has a method which handles it: doView() doEdit() doHelp() These methods will contain mainly our "traffic directing" logic, which are responsible to decide what view the user wants to see. Once the view has been determined, we will forward on to methods which actually implement that view.
For standard portlet view modes have two views: The default view which shows the list of items. The form, where users will mainly do the add and edit action. In this where end user can edit the particular item, is called edit mode of portlet. What Is A Liferay Theme? What Are The Advantages Of Using Them? Liferay themes are the way to customize look and feel of a liferay portal page. The themes are extendable components that can be deployed separately on a portal and each page on the portal can choose a different theme (if required). Themes are really powerful way to run multiple websites from a single portal. You can host multiple websites on a single liferay portal with totally different look and feel. This allows you to be unique at the same time save a lot resources on website hosting. A lot of companies use liferay for creating multiple unique websites with the help of extraordinary themes that can be easily developed. Themes are also available from marketplace. For developing on our own, we have option of using VM pages(Velocity templates). Liferay provides the feature to deploy the different themes into the portal same like portlets war files. So number of themes we can be deployed into Liferay portal and we can further select those themes for user interface as per the requirement of end user for different site or organization pages. How To Use LDAP Authentication With Liferay? LDAP is lightweight directory access protocol that is most commonly used for authentication and authorization of users. LDAP mainly consists users and usergroups of any organization with certain serach filter like DN entries. In the control panel of liferay we have option to provide the LDAP settings so that portal can contact the third party like LDAP and fetch the required users and groups as per given mappings. For example Active directory is a LDAP implementation which can store users. Liferay support integration of any LDAP implementation through its admin control panel. We need to provide the settings in control panel - > portal settings -> LDAP This will require LDAP URL, username, password, users search filters mappings, groups search filters mapping etc. What Is Portal-ext.properties File? How This Can Be Configured And Used In Liferay? Liferay Portal comes with default configurations that are stored in portal.property file. You can use portal-ext.properties file to override the values in portal.properties file. This allows you a clean way to keep your own copy of configurations that can be used outside the portal at the same time you can easily upgrade the portal. What Is Inter-portlet Communication? Why Is It Required To Use JSR Style Inter-portlet Communication? Sometimes we have the requirement where we need to establish communication in between two portlets for example any action done in one portlet redirecting the end user to other portlet where some kind of result is displaying as per action done on first portlet. So in this use case we have to use liferay inter-portlet communication mechanism which serve the action performed by end user in one portlet and provide the result to the second portlet where the action result needs to be displayed. We can say that it works on striker-catcher mechanism. JSR style inter portlet communication ensures that your portlets are going to work on any other JSR compliant portal server. If you use a liferay specific way to communicate between portlets than you may not be able to deploy and run the same portlet war on another JSR compliant portal (e.g. Apache Pluto) What Is A Liferay Portal Instance? Liferay portal ships with the one liferay portal tomcat bundle which is up and running in any server with certain database settings. We can have more than one liferay instances running from one database. Liferay Portal allows you to run more than one portal instance on a single server. The Portal Instances page of the control panel lets you manage these instances. Data for each portal instance are kept separate. All portal data, however, is kept in the same database.
Each portal instance requires its own domain name. Liferay will direct users to the proper portal instance based on this domain name. So before you configure an instance, we need to configure its domain name in our network first. When we are ready to add an instance, click the Instances tab - > Add button. It will be prompted for four fields and a check box: Web ID: A general convention is to use the domain name for this. It’s a user-generated ID for the instance. Virtual Host: Put the domain name you configured in your network here. When users are directed to your Liferay server via this domain name, Liferay will then be able to send them to the proper portal instance. Mail Domain: Enter the domain name for the mail host for this instance. Liferay will use this to send email notifications from the portal. Max Users: Enter the maximum numbers of user accounts you would like your portal instance to support. Active: Use this check box to choose whether to create an active or an inactive portal instance. Now we need to click Save. Now navigate to the portal using new domain name. We will see that looks like a clean install of Liferay. This is our new portal instance which can now be up and running. How Can I Configure Two Different Domain Names (e.g. First.example.com And Second.example.com) On Liferay? At the time of creation of any site we need to provide domain names which further take it as site domain name. We need to provide the certain domain name as required through the control panel of liferay portal. Single instance of Liferay Portal supports hosting of two or more domain names via communities(sites). When we will go to control panel -> Site settings -> we can provide the site URL, details like site(community) description, membership type, active status and virtual host. How Can I Configure Liferay To Use Email Address As User Name Instead Of Screen Name? We can set this from control panel -> portal settings -> Authentication -> LDAP -> How do users authenticate?. Here we can select whatever we require from email address,screen name or user ID. At the time of LDAP authentication, we need to provide the required LDAP mappings which basically reads all the details related to users and usergroups from LDAP directory and import into Liferay portal. At the time of this connection with third party we need to give the required field like authentication should be by email address or screen name or user ID. How To Customize The Behavior Of Liferay Default Out Of The Box Portlets (e.g. Document View, Calendar, Blog, Wiki Etc) ? If we need any customization, related to JSP and UI then we can implement this using Hooks. Liferay portal comes with a bundle where all the default built in portlets exist. If any customixation required in the core level classes then it can be done through EXT for example LDAP users and user groups import modification. but here in EXT, restart would be required. What Is Liferay Service Builder? Is There Any Alternative To Use Service Builder? What Are The Advantages And Disadvantages Of Using It? Liferay service builder is basically used to create the service layers for any business logic implementation. From developer point of view it is very helpfull as it used to create all the service layers automatic. Suppose we want to develop a portlet, for this we need to write all the required implementation classes, utility cleasses and other required classes. Service builder is used to create all these classes for developer, where they can add their business logic further and process the data and render the output to view as per the requirement. As per the advantage, this service builder will create whole structure of the service layers for developer mainly. It really helps them to write the code and their logic in service builder created model implementations and service implementation classes. These classes comes with normal CRUD (create, update and delete)operations. For developer, no need to
add anything extra as whole service and utility layers are already got created by service builder. It really speed up the developement process. Service builder requires service.xml which is having some of the required entries. Each of the entry is basically called entity, which is having it's primary key fields with some other required fields. If we want to implement order and finder method, we can implement it by using this service.xml. Each entity creates table into liferay configured database with the given column names and their types. We can create service.xml related local-service and remote-service by setting them value as "true". When we would run this build-service like below, this would create all the service layers(implementation, utility etc.) where developer can write their required business logic further. Creation of all the service-classes would be done by the build.xml, we need to build-services using this xml file into Ant view of IDE. How To Set The Display Category Of A Custom Built Liferay Portlet ? We can set the display category like below mentioned liferay-display.xml. Suppose we have developed one portlet where portlet ID we have provided. We need to enter the custom built liferay portlet into certain category like name "category.cms", "category.collaboration" etc. By doing this custom built liferay portlet would come in required category by clicking the add application feature of liferay as there would be many of portlets under different categories. So below tag we need to enter for the entry of a portlet into certain category. How To Support Internationalization (i18n) On Liferay Portlets? How Do You Support Multiple Languages Without Writing Java Code In Liferay? We can support internationalization (i18n) on Liferay portlets and through out this whole Liferay portal. We need to provide whatever language we need to support into LIferay portal. This is mainly reads the regions number and provide the available language like en_US(english), SG(singapore), zh_CN(simple chinease), zh_TW(traditional chinease), ja_JP(Japanease). In the same way to provide support of multiple languages without writing java code in Liferay, we can use Locales this through out the portal, portlet, hooks and themes. This entry we can provide into same portal-ext.properties which Liferay portal would read and provide all the translation accordingly. locales=en_US,zh_CN,zh_TW,ja_JP,ko_KR If we are writing some custom messages in out code then we need to provide the below property files also as per the called language and using of Locales would convert it accordingly. We can use LocaleUtil in our code which will convert the certain message given in language files. For example we want the assetCategory title in multi languages then we need to use this assetCategory.getTitle(locale). So here whatever locale we have mentioned earlier would be in action and pick the given title name from certain locale related language.property file. Language_en_US.properties Language_zh_CN.properties Language_zh_TW.properties What Are The Advantages Of Using Tomcat Bundle Of Liferay Against Other App Servers (e.g. JBoss, Glassfish Or Others)? It is possible to use Liferay with Liferay IDE with other then tomcat server bundles but there are some features or benefits that will not be available: Native eclipse server adapter that supports launching and debugging. Deployment via add/remove modules wizard would not be available. Auto redeployment based on changes to project resources. Which One Is Best To Start In A Clean Setup? Liferay bundle with tomcat app server is the best one to start in a clean setup. How Do You Perform Junit Tests On Your Portlet? Junit tests are there to check the code mainly by providing the value of any method input parameter, how the method would work and gives the values. public class MyEmployeeTest ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "ApplicationContext-service.xml");
public void testMyMethod() UserService employeeService = (UserService) context.getBean("userService"); //Provide the user Id as 101581 User user = storeService.findUserByUserId(1234); //get the employee Set employee = user.getEmployeesForUserId(); System.out.println("Employee Name : "+employee.getName()); How Will You Configure A Portlet That Can Be Added Multiple Times On A Portal Page? One property is there in portlet.xml which is as follows: true by using the value true and false we can configure a portler that can be added multiple times on a portal page. How Can You Customize Liferay Search Feature? What Are The APIs To Do It? We can customize Liferay Search feature, depends upon our requirement by below two ways. Hook : If changes are required as per the view side like we need to change the search result form view then we can write the Hook to customize it. EXT : If changes are required as per the core functionality like we need to change the search query term, we can implement EXT. How Can You Integrate Liferay With An External Content Management System (e.g. Alfresco) Liferay passes user credentials through CMIS to the alfresco in order to connect. To enable this in liferay, we need to enter following below property in portal-ext.properties which will allow liferay to store password in session. session.store.password=true Also one more thing we need to take into consideration is that Liferay passes logged in user's credentials to CMIS Repository (whihc is alfresco here) as described above. What this means is that userid/password in liferay must match userid/password in Alfresco. Alfresco by default uses a loginid (which is similar to screen-name in liferay) to authenticate user. So we need to make liferay also authenticate using screen name by making following entry into portal-ext.properties. company.security.auth.type=screenName So we need to start Liferay. Login as administrator and go to control panel. we need to go to Document and Media which will bring up a screen where we need to click on Add -> New Repository. this will bring one screen where we basically provide connection details to connect to Alfresco like below. Name: Give any name you want to give to your repository view in liferay. For example, I will give Alfresco repository name. Description: A brief description about it. Repository Type: We can connect either using AtomPub or using web services. AtomPub URL: This will be the CMIS repository URL where our alfresco is running. In our case, it's would be http://localhost:8080/alfresco/service/api/cmis (Note: In case of Alfresco 4.0, it will be http://host:port/alfresco/cmisatom). Repository ID: It is basically used to connect to a specific repository incase we have multiple repositories available. If we do not enter a repositoryId, then it will just look for the first repository using the given parameters and set it to that. How To Setup A Liferay Cluster From Scratch? We need to setup below properties in our portal-ext.properties(this is for one instance represented by 1p, same properties we need to add for second instance also represented by 2p) and some required IP addresses. #cluster configurations - these settings are for cluster net.sf.ehcache.configurationResourceName=/myehcache/hibernate-clustered.xml dl.store.file.system.root.dir=/webapps/document_library_cluster #other settings for cluster liferay.home=/webapps/liferay-1p/liferay-portal-6.1.10-ee-ga1/ lucene.dir=/webapps/liferay-1p/liferay-portal-6.1.10-ee-ga1/data/lucene cluster.link.enabled=true lucene.replicate.write=true multicast.group.address["cluster-link-control"]=239.255.4.1 How To Use AUI In Liferay? What Are The Advantages Of Using It In Liferay Instead Of JQuery Or Some Other JS Library? AlloyUI (AUI) is Liferay's open-source javascript library. It is built on Yahoo User Interface (YUI) and has support for a variety of advanced javascript functions specifically designed for portlets. As it is Liferay provided JS library here no need to merge this code.
It is designed to take advantage of and incorporate patterns from the best libraries to make building robust and flexible web applications. It is a JavaScript library, a CSS framework, a set of HTML recipes and a taglib library, all combined to empower developers across multi-skilled teams deliver rich and dynamic applications. Only we need to add certain tag library like below in order to use Liferay Alloy UI libraries. http://liferay.com/tld/aui /WEB-INF/tld/liferay-aui.tld So further we can use these all form and fields like below in our JSP code. How To Use JQuery In Liferay? We need to provide the entry like below in our JSP files. So that it can read the provided java script path very easily and we can use jQuery accordingly. How To Configure Liferay To Use A JNDI JDBC Datasource Instead Of Internal C3p0 Connection Pool? We need to do the entry of perticular resource with some certain parameter like name, factory, driverclassname, url of database, uaername and password. Below is the entry of resource where JDBC datasource is configured. Below is the entry of resource where c3p0.ComboPooledDataSource is configured. I hope you find this list useful. Are you a Liferay developer? Feel free to suggest any questions we may have missed out on this list.
0 notes
Text
0 notes
Text
0 notes
Text
🚀Experience the Power of Liferay with Aixtor’s Expert Consulting & Development Services
Is your business ready to elevate its digital presence? 🌐
With Aixtor's Liferay consulting and development services, we create customized, scalable, and secure digital experience solutions tailored to your unique business needs.
Our Expertise: ✔️Tailored Portal Solutions for intranet, e-commerce, and communication ✔️Liferay Performance Tuning and ongoing optimization ✔️End-to-End Support from discovery to post-launch ✔️Security Enhancements to safeguard your business ✔️Liferay Clustering for high availability and fault tolerance
Partner with Aixtor to seamlessly transform your business with Liferay’s cutting-edge technology.
👉Get a Free Consultation today: https://www.aixtor.com/services/liferay-consulting-services/
📞 Get a Free Consultation today and begin your digital transformation journey!
#Aixtor#Liferay Consulting#CertifiedPartner#LiferayConsulting#liferayexperts#Liferaymigration#liferayupgrade#digitaltransformation#businessgrowth
0 notes