After many years of build extensions for Joomla with traditional tools like bash scripts or Phing, I have started a project Extly's Buildfiles for Joomla to modernize my personal Toolbox for Joomla extension development: anibalsanchez/extly-buildfiles-for-joomla.
The key features of the project are:
- Powered by Webpack to build and support the development workflow
- Support for any type of Joomla extension: component, CLI files, template, etc.
- Flexibility, to exclude and customize the package merely deleting folders or customizing the build template files.
- Template files to create the manifests
- Translation files to automate the translation management.
- A Library, to pack Composer libraries or any other library.
- Support of mobile apps, progressive apps or single page apps (App folder)
When the project started, I forked it from joomla-extensions/boilerplate, with the idea of submitting a PR to improve the original project. However, the addition of scripts to manage the package and control the extension has increased the complexity beyond what a user would expect from a boilerplate project.
Feel free to clone, fork, use it or propose improvements. To the moon!
After the last crazy-busy months of April and May 2018, I'm finally catching up with the delayed tasks. In the rush of preparing the presentation for UbuCon 2018 - Devops with
Lando and Docker, I also published an ambitious project: Lando Boilerplates for Joomla, WordPress and PrestaShop (GitHub repo).
I have been improving the project mainly with Joomla tooling, but also included WordPress CLI and PrestaShop recipes.
At this point, after these months of development and testing, I think that the recipes are improving and the direction is clear to implement best-practices and advanced tooling (integrated phpMyAdmin and MailHog) for CMSs. For instance, the current tools for Joomla include these nice commands for Lando:
- "install", to download and extract the latest Joomla
- "kick-restore", to download Akeeba's kickstart and extract a JPA backup
- "unite-restore", to install a JPA backup with Akeeba's Unite
- "dev-config", to apply my favourite local development configuration to Joomla
This is the repository where I'm publishing the updates: https://github.com/anibalsanchez/lando-boilerplates-for-joomla-wordpress-and-prestashop
To sum up, Lando is progressing at giant leaps and the combination of different CMSs is perfect for DevOps development.
In this session, we are going to talk about the techniques and technologies necessary to develop a state of the art extension. Building on top of a classic component that includes modules and plugins, we are going to add a quality assurance procedure, progressive features, packaging tools and continuous deployment services.
See you in Cologne!
Across the world, the community gets together to organize UbuCon events to celebrate Ubuntu and forge new friendships.
Ubuntu has always been with me. I'm a confessed fanatic, and I deploy Ubuntu on every computer that I can. Now, I have the fantastic opportunity to attend an UbuCon conference, here in Gijón/Xixón, Spain, and meet the community. On top of this, I submitted a conference about Lando (https://docs.devwithlando.io), it has been accepted and I will be honoured to introduce this toolkit.
Lando is for developers who want to quickly specify and painlessly spin up the services and tools needed to develop their projects.
It's a free, open source, cross-platform, local development environment and DevOps tool built on Docker container technology and developed by Tandem. Designed to work with most major languages, frameworks and services, Lando provides an easy way for developers of all types to specify simple or complex requirements for their projects, and then quickly get to work on them. Think of it as your local development's dependency management tool...
Don't miss this event. It's going to be awesome. Registration is still open http://ubucon.org/en/events/ubucon-europe and the Schedule have been published http://ubucon.org/en/events/ubucon-europe/schedule.
To the moon!
Continuing with the subject of the "Mobile Apps Development for Websites", which took place at Joomla! Day Madrid 2017, we are now going to introduce the integration of web and push notifications in Joomla!.
Notifications are a new mean of direct communication with users. They have unlimited potential, but also a capability that must be used with care. In the presentation, we will present the integration of Joomla! with Web Notifications and the integration of a SlimApp with Push Notifications and our Joomla! site. Finally, we will also introduce notification services like OneSignal or Pushwoosh.
If you plan to go to the conference, Blind Bird tickets are now on sale: https://conference.joomla.org/buy-tickets.html
If you are Interested in sponsoring the Joomla! World Conference 2017, there are packages still available: https://www.sponseasy.com/p/joomla-world-conference-2017
See you in Rome!
- Ionic's eBook: Hybrid vs. Native apps
- From JD17UK: Building mobile apps with Ionic 2 and Joomla, by Ray Lawlor
- Lighthouse - Lighthouse is an open-source, automated tool for improving the quality of web pages
- Workbox - Workbox is a collection of libraries and build tools that make it easy to store your website’s files locally, on your users’ devices. Consider Workbox if you want to:Make your site work offline. Improve load performance on repeat-visits. Even if you don’t want to go fully-offline, you can use Workbox to store and serve common files locally, rather than from the network.
UPDATE: Web and Push Notifications for Joomla! - Slides
After few more updates and corrections from community feedback, here they are the final Slides. http://joo.nu/jwc17
In November 2016, I had the unique opportunity to attended two featured technology events. In a first place, I was invited as Open Source Contributor to WebSummit 2016 and secondly I attended to JoomlaDay Granada 2016. The differences between both events are remarkable, and an accurate description of the current challenges that we face today.
WebSummit is a huge European event, with an audience of more than 50,000 attendees, where you can find from big corporations, showing well-planned marketing campaigns, to small start-ups pitching non-working prototypes.
In previous years, WebSummit had taken place in Dublin, but this year, to reach a greater scope, the organisation jumped to Lisbon and executed a perfect strategy. In this context, the beautiful city of Lisbon received our invasion of professionals of the web world, accepted the bet, and it was ready to answer with a proper infrastructure and an army of volunteers.
At this scale, the organisation pulled a success. We can argue that in the first days all venues were full and it was even difficult to listen to the talks in open spaces. Still, after the initial madness, there was room to talk, learn new ideas, or touch the raw source of technology innovation. In this arena, topics like artificial intelligence, big data, drones, virtual reality, automotive, IoT, bots or robotics had their 15 minutes of fame. Of course, we could find our regulars: SaaS, E-commerce, creatives, marketers and technologists, leading banks, sports business, etc. Overall, the current landscape of web technology was well represented.
On the other hand, I attended JoomlaDay Granada 2016, an event organised by our Joomla! Spanish community. An always incredible opportunity to meet Joomlers, friends, colleges, and students. All of us summoned by our common interest in Joomla! CMS and open source technology. A moment of time when we were privileged witnesses of how a user group in Granada takes shape.
Both experiences could not be more different. WebSummit prices go from 300€ up to 5.000€, over a year until it is sold out. JDays are frequently free, sponsored by featured software developers or services providers, and located in educational or governmental venues.
From a Joomler point of view, WebSummit is an alien environment. It can be overwhelming or totally annoying. We are used to our community, where close relationships are formed along years to form small niche of nerds. We know each other and we know our professional skills to the detail. For instance, in our gatherings, we talk about what we have been doing recently, not even talking about our commercial activity.
Out there, there is a whole world to challenge us. In the wild, we can find new ideas and apply new concepts to our systems. Evolution is the key to surviving. We need this technology pressure to understand the challenges that our users face every day. To be precise, in Joomla, we have pending questions that we need to answer, and I find myself also looking for solutions to these problems. We only have to combine these new concepts and Joomla! to find new growth opportunities. To be crystal clear, we are in a post-web and post-mobile era; we have to adopt these ideas to evolve.
To sum up, I can conclude that both events helped me to better understand the current state of the art of web technology. In our niche, we have highly qualified enthusiasts, ready to solve any problem. We have a legacy of more than ten years of one of the finest pieces of technology ever created by an open source community. Nothing is stopping us from lead the change into modern times. So, the big question is: do you dare to go there?
My Joomla! marathon started in Joomla! World Conference 2015. I was awarded as project volunteer with JET to attend JWC15! and I presented a session about Mobile Apps at JWC 2015. This community event was my first international conference to meet a big part of Joomla! community. Volunteers who daily collaborate with the project, but rarely have the opportunity to meet in person.
To read more about the experience:
Looking back, a particular session was moving and intriguing for me: JWC15 - Building and Maintaining a Healthy Community, by Priyanka Nag.
Fast forward to September 2016, I am a brand new member of Joomla! Community Leadership Team and her words have a new meaning and embody a call to my inner project manager:
- Belonging: A sense of belonging is what keeps people in communities.
- Open Communications: With an open community and publicly visible and accessible communication channels, anyone can join the community.
- Open Tools: Anyone with an Internet connection and computer can contribute.
- Community Leader: Who is He / She?
- A Community Leader's Responsibilities:
- Enable People
- Trust is everything
- The Value of Listening
- Avoid Ego, or Others Will Avoid You
- Scaling the Community
- Building the right tools
- Resolving community conflicts - CONFLICTS CAN'T BE AVOIDED -
- Multiple Communication channels
- Community TODO List
- Identify how we can divide our community into teams
- Ensure that teams can communicate clearly and effectively
- Define the scope of each teams, and help team members understand that scope
- Encourage diversity and opportunity in the community
- Produce a Code of Conduct
- Quick Steps to Resolve a Conflict
- Calm and reassure
- Get the facts
- Reflect and maintain
- Working with an Open Community
- Good - Open by default, real diversity
- Bad - Working with partners (Source, by Stormy Peters)
- Ugly - Not enough time, lack of commitment, meetings
To the moon!
Open Source organizations and projects are driven by the strength of its community. We have often seen but how big communities fall because of wrong ways of handling it or mismanagements. My talk will be around the lines of how a community leader or manager can take a few extra responsibilities to keep a community healthy.
Being in the Open Source world for the last 4 years, I have got opportunity of working with several different communities. I am also currently working as community manager, here at Scrollback.
Communities are tough to build, true, but what we often forget is the fact that once built, these communities are even tougher to be maintained.
There are some very simple rules around maintaining the health of these communities. Through my talk, I would like to point out a few of those simple tricks to building and maintaining a healthy community.
Today, I'm reading again about the Nash equilibrium, a simple but powerful idea that explains how self-improving individuals could lead to self-harming crowds.
Two comprehensive article about The Prisoner’s Dilemma and other similar cases:
Hi Parth, I've just translated your article "The Evolution of the Internet from a geek’s paradise to a consumer ecosystem" to Spanish (coming in the next Joomla Magazine edition).
Re-reading your article, I think that your diagnose is sound.
However, I don't agree on the need of distributions. Firstly, a distribution is a solution for a business-specific need. For instance, a distribution for wine cellars. Who is an expert or a product manager for wine cellars? We can be experts in certain fields, but none of us (in our community) has the expertise to define a distribution for wine cellars. Secondly, to have a successful distribution for wine cellars, a different system than a CMS could be required.
I've been thinking on the same reasoning than you follow, but I arrived to the conclusion that we only have to be better on what we do and there is no need to change what we fundamentally do "a CMS for system integrators and developers/consultants".
In the past, there was a big pull from a market of early Internet users and we shared the space with WordPress (there wasn't much else to choose from).
Now, we have to define our focus with laser precision into the needs of system integrators and developers/consultants. I have had the pleasure to talk with you and I think we have a similar view to make Joomla growth into a hub of content to support websites, mobile apps and Internet of Things.
I want a poor student to have the same means of indulging his learned curiosity, of following his rational pursuits, of consulting the same authorities, of fathoming the most intricate inquiry as the richest man in the kingdom, as far as books go, and I contend that the government is bound to give him the most liberal and unlimited assistance in this respect.Anthony Panizzi 1836 - Principal librarian of the British Museum