Replies: 8 comments 17 replies
|
@Jimmi08 this is exactly the conversation e107 needs to have. 👏 The e107.org plugin directory has been a dead end for a while — outdated entries, no version tracking, no real connection to where the actual code lives. GitHub is already where the ecosystem happens; the admin panel just hasn't caught up yet. Your XML-based approach is smart because it follows a pattern e107 already knows (language repos), so the implementation path is shorter than it looks. Cached reads + install/update buttons directly from the admin would be a game changer for adoption — especially for non-technical site owners who currently have no easy way to discover or update plugins. The mandatory One thing I'd add: if this system gets built, the README and plugin.xml we discussed in #5605 become the data source for the directory listing — description, screenshot, version, requirements. Documentation and discoverability solving each other. The two proposals are actually the same proposal from different angles. But I want to go one step further with a philosophy I think this community needs to embrace: "Open source is not the same as free." Developers should be able to publish free plugins — and also sell premium ones. A marketplace built on top of this directory system could allow exactly that: free and paid plugins side by side, with a small percentage of each sale going back to e107 core development. This isn't a new idea — it's what keeps WordPress alive. The difference is that e107 is lean, fast, and developer-friendly. A fair revenue-sharing model could attract serious plugin authors, fund core development, and give e107 the visibility it deserves. We have a lightweight CMS, a solid architecture, and a community that actually cares. What we're missing is an economic model that makes contributing sustainable. Count me in if this moves toward implementation. 🚀 — Martin / LandingPro |
|
@Kanonimpresor I did displaying part
Now I need to make a decision about installing the functionality. I would like to hear your ideas (not only you but you are familiar with Lite version. I asked for English version, so I hope this is clear what I am asking: The open question: Install buttonNow we need to decide how download and extraction works. There are two approaches. Option A — Everything in coreDownload and unpack logic lives directly in
Option B —
|
| Answer | Consequence |
|---|---|
| Yes | Core needs basic download/extract fallback — public repos only, no token support |
| No | githubSync is a required companion — core shows a prompt to install it if missing |
The answer determines whether e_marketplace.php needs its own HTTP download logic or remains a pure data layer.
@Deltik Any ideas? Or better warnings about what I should think of? I noticed that there is a similar way from xml files marked as old way, no idea why this was abandoned.
I don't ask for any changes in the core itself, the Lite version is enough for me, but this way this idea could be tested in real environment and after some time, moved correctly to the core. But I have that feeling that I am forgetting something - it is too easy to be so good. I need to write GithubSync from scratch but it will be part of Lite version then.
Thanks to all
|
Final roadmap: Ignore words about e107 core repo - it is tested on the core version, so it still mentions it. |
|
@Jimmi08, and thank you for thinking this through so carefully. You are right that the discovery side of e107.org has gone stale, and you have spotted the cleanest path: the core download handler already pulls a remote XML feed and fetches files for one case today, language packs. The feed lives at Where I have to be honest with you, in Deltik's voice: revamping the e107.org plugin and theme registry properly is more than I can take on right now. The backlog I inherited is long, and I would rather ship the fixes already queued than open a large new front I cannot maintain to the standard it deserves. So for the time being I am happy to defer to the community on this one. That is not a brush-off. I would genuinely love e107 to have a great home for plugins and themes, discoverable and updatable from the admin panel like you describe. My preference is simple: if a third party (you, very plausibly) builds a solid GitHub-backed directory, I would much rather endorse and point to a good community solution than carry yet another piece of infrastructure on my own shoulders. A working thing that someone is proud to look after beats a half-maintained thing under the core badge. Which is exactly why your fork is the perfect place to grow this. Prove the loop end to end in e107-2.3.x-Lite (the curated One boundary I do want to set on the core side, gently: there is no commercialization on the e107 core itself, and I would like to keep this thread focused on the open discovery/install mechanism. @Kanonimpresor, your paid-tier and revenue-share ideas are a legitimate thing to explore, and your fork or a companion plugin is absolutely the right venue for it. It just sits outside what core will adopt, so it is cleaner to spin that out into its own discussion rather than couple it to the registry design here. No objection to you building it, just keeping the lanes separate so Jane's mechanism can be evaluated on its own merits. Keep going, Jane. Show me it working in Lite and you will have my attention and, if it is good, my endorsement. |
|
I have a new idea. The above is not easy to finish, mainly because I need to do other things, but basic is working. But sometimes you need to use a long workaround to find a simple and logical way. Those are my words, so sorry for the English. You have a core repo (with core sync that syncs all plugins too), you have 2 types of plugins - core independent and standalone plugins (they are only in the official repo, like forum, pm). What about separating those plugins from the core sync and adding them as a separate plugin to download from the core repo? The list of those plugins would be shifted with the core. The more plugins are separated, the bigger the list will be. What I am struggling with now...
But logic itself - download, install, check updates - this is already covered. It looks like this now
|
|
WOW looks good @Jimmi08 and you are spoton with 1/ responsibility, so this wil not work in a real world setting, i think that separating core code into plugins is a good way to go but they should stay within a core release so you can select them without having anything to do with importing from anywhere.. What are you going to do when a repository is infected, or the code is not secure enough, and who is going to check, inspect, and decide on all of that? |











Uh oh!
There was an error while loading. Please reload this page.
Find plugins and themes from e107.org is dead way - at least for me when we have github repos, with asap changes and fixes.
My suggestion:
Add new option Find plugins online (or any other name)
one file with plugin list (xml, like languages repos on e107.org)
mandatory structure of repo:
e107_plugins/pluginname/plugin code
parent e107_plugins is important for synchronization and to rid github stuff when manual copying via FTP
e107 core should read plugin.xml - to get screenshot, version, other installation. Install or update buttons are easy then. It could be cached for better speed...
the same for themes
synchronization
There is pretty well managed synchronization from e107 file handler - but not universal, only for core and languages. Adding option (or create new method) for plugin and themes solves issue with download.
submit new plugin/theme
This way have core developers full control and overview of e107 enviroment.
And this solves documentation issue - you can have them as suggested in other topic but they can be linked only or omitted during download - depends on our agreement.
You (core devs) can put any template file you need to manage this and instead reading plugin.xml itself, e107 core would read this one.
You can support private repos too by asking for token before synchronization (different code is needed, curl not download zip)
All shell or how it is called stuff for sync github repos can be removed - who can use it normally on shared hosting? It is useless for users except for some advanced developers.
All reactions