joomla-projects / joomla-extension-directory Goto Github PK
View Code? Open in Web Editor NEWRepository for com_jed4, the next incarnation of the Joomla Extensions Directory
License: GNU General Public License v2.0
Repository for com_jed4, the next incarnation of the Joomla Extensions Directory
License: GNU General Public License v2.0
From the technical spec:
User Area
To include all standard user and account functionality, such as forgot password, register, account details, etc.
Tabs
Tickets
Reviews
Account
Favourites
Extensions
All mails from the JED need to be converted to the built in MailTemplate feature of Joomla.
From the technical specification.
Extension Submission
Functionality
Registered users can add / edit their own extensions. The extension submission form should be easily customisable so that new fields can be added in the future. The submission process should be as automated as possible.
1. The component should check the user’s account for any pending issues. The component should prevent submissions if:
the user has 3 pending submissions.
the user has a suspended account.
the user has any unpublished listings for any reason other than UR5 (per developer request).
2. Submission form fields - (*) indicates a required field:
Name *
Free and Paid checkboxes
Extension Type (multi-select)
Component - Mini-application to render the main page body
Module - Renders small html blocks on any page
Plugin - Changes code behavior dynamically
Extension Specific Add-on - a Specific add-on that requires another extension to operate
3. The form needs to run the JED Checker automatically for all files uploaded.
Different automatic tests based on extension type selection.
Items to test:
All tests currently present + Match Listing Name + Reserved Words + Joomla
Check to see if the alias for the extension already exists
If it passes, continue.
If it doesn’t pass, display issues from checker to user.
If it doesn’t pass, the user has the option (via checkbox) to bypass the check and describe why the submission is valid. In this scenario, the submission will be placed in a manual review queue.
4. Remaining fields:
Descriptions
Descriptions should support simple BBCode or Markdown for only: bold, italic, underlined, and lists
Include a main Description field (text area) in English
The developer should also be able to add extra descriptions in other languages. They would need to fill in 2 fields: Language Name (select from list) and a Description (text area).
Parent Extension (Required for Extension Specific Add-ons)
Project Homepage
Download URL
Demo URL
Documentation URL
Support Forum URL
License URL (Required when “Paid” is selected - see below)
Service Type: standalone or hosted
Support: not included or included. (Note: Reviews: support question to only be shown if support is included.)
Require Registration to Download (checkbox) (Automatically checked if “Paid” is selected)
Supported Joomla Versions (checkbox) - ability to add future Joomla versions.
Joomla! 3.x
Joomla! 4.x - JED Checker can be adapted to check this.
PHP Compatibility - ability to add
PHP versions (5.6, 7.0, 7.1 etc)
Uses Joomla Updater? (checkbox) - mandatory. (There’s no choice anymore)
Version (text field)
Category (only second level categories can be selected)
Tags (10 max)
Logo (1 max)
Video (youtube/vimeo) (URL Only) (max 1)
Image (10 max) (upload with auto resize)
Note to JED (text area)
JED XML URL
Subscribe to mailing list concerning your submission
The actual Update XML + for a paid extension a code that allows free downloads (that should allow a opt-in to the security review
- badge
The possibility of auto populating some fields using data from the extension’s XML install file should be reviewed. The user would need to provide the XML file for this.
When the extension submission is approved, the user who created the listing should be able to unpublish their own listing (with an automatic reason: UR5-Per Developer Request). The user should also be able to update listing information. The user should also have the ability to open a ticket for their own listing in this area.
If someone changes the distribution model (free to paid and vice-versa), reviews are automatically deleted. The listing owner should receive a warning that their reviews will be wiped out, before saving the listing.
An extension name (ex: plg_system_example) must be unique and bound to the developer account, no one other than this developer is allowed to publish (and sign) packages with that extension name. An extension name should be prevented from including any words that are not permitted as below. The form should not allow submission if any are present. The ability to remove the restriction for a user for one-time use.
Joomla (only permitted in the form “{Extension Name} for Joomla”)
Component
Module
Plugin
Extension
Free
Language strings
Version numbers
Offensive words
A title that is more like a description than a title (length or number of words)
The current tags are as follows
These no longer reflect current products. Some companies make a single listing for a product that has free and a paid version with more features. so to cover these extensions the following should be used
You will note that Paid Download
has been shortened so it matches the other tags
An example extension is: Convert Forms
You could also use the tag lite
for a crippled version of a extension as it implies there is another extension that is paid and has more features. There would also need to be another listing for this full version of the extension.
You could also instead of Free/Paid
show both tags (Free
and Paid
), but I am not 100% how this will affected peoples searches.
Add IDP registration for users
Integrate SSO with JED Users
Map existing JED Users / Extensions to IDP users.
I tried to install this repo locally for helping development.
I followed the steps described in https://github.com/joomla-projects/Joomla-Extension-Directory#build-instructions
After running .\build-windows-c.bat
in the command line I get the following error:
Nevertheless I tried to continue by doing the mapping into my local webserver with .\vendor\bin\robo map 'D:\wamp64\www\jed4-dev'
and it seems to work anyway.
I guess it is just not able to create the installable zip package file...
Extensions have a scoring based on several factors. Since we don't want people to game the system, the specific algorithm how these scores are derived, should be hidden.
onJEDCalculateScore
with an extension object as parameteronJEDCalculateScore
for all relevant save operations (Basically all moderation events)onJEDCalculateScore
on each extensionA declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.