Giter Site home page Giter Site logo

silverstripe / addons.silverstripe.org Goto Github PK

View Code? Open in Web Editor NEW
13.0 13.0 16.0 1.67 MB

Website hosting Silverstripe Framework extensions

License: BSD 3-Clause "New" or "Revised" License

JavaScript 0.79% PHP 31.72% Scheme 7.05% HTML 17.66% Less 41.35% CSS 1.44%

addons.silverstripe.org's People

Contributors

ajshort avatar assertchris avatar camfindlay avatar cheddam avatar chillu avatar dependabot[bot] avatar dhensby avatar dnsl48 avatar emteknetnz avatar kmayo-ss avatar lexakami avatar mandrew avatar maxime-rainville avatar micmania1 avatar nightjar avatar raissanorth avatar robbieaverill avatar sachajudd avatar scopeynz avatar spiritlevel avatar ss23 avatar vikas-srivastava avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

addons.silverstripe.org's Issues

Allow merging of maintainers

This is probably an admin-only feature, but it would be good if a single maintainer could be recognised as having multiple git-commit email addresses, so that Marcus isn't listed 3 times.

I'd probably manifest this as a "merge maintainers" function available to authorised users.

Addon build not working

Addon build no longer working. In first look it seems problem with PackagistService. I am looking into possibility of replacing this with new API, hope that should work. Otherwise we will have to think about github ways of doing this as suggested by @hafriedlander here

cc @chillu @simonwelsh

Add "submit module" trigger (and supporting docs)

Should be prominently placed, probably in the main navigation. It needs to link to Packagist, since we don't want to recreate the whole module management on our own site.

A simple external link will be too confusing and leave people wondering why they're on a different site. Should probably go to a help page which describes what Packagist is, how it relates to composer, a note about vendor prefixes, and that you have to wait a couple of minutes for the module to become available on exts.ss.org.

On the long run, it'd be better to use an API to submit packages to packagist, but that requires OAuth to link Packagist and exts.ss.org, so unlikely to happen soon.

Browse by vendor

The "silverstripe/" part in the package name is actually supposed to be the vendor, and not an indicator that the module is part of SilverStripe.

To reinforce this, it would be good to have a "Vendors" view, that listed all the vendor prefixes used by SilverStripe modules.

As well as listing the packages, it would be helpful to list all the maintainers linked to any of the modules under that vendor.

Add comments

I would suggest we simply use Disqus, since we already use it on api.ss.org and doc.ss.org. Ask Ingo about setup, we already have an account there.

Show module dependencies

They're exposed through the composer API, show them as well (and link them to our internal views for this module, if there's any match).

Browse existing tags

Show by popularity. Doesn't have to be a tag cloud though.

I'm making this a pre-launch task because it'll be important for module authors to get an understanding of the used tags, so they don't create slight variations of the same stuff when porting their modules.

Queue implementation for extensions update and download

At the moment, we might get a new module or module release every couple of hours,
so a periodical update is adequate. But once we get to a higher frequency, it'll be ineffective
to download sources for many repos synchronously in a PHP task.

@ajshort How long does a full update take at the moment, for how many modules? Do you agree that a queuing solution is the right tool for the job here, or oversized?

Add stats to homepage

We want to visualize that our ecosystem is alive and growing, and give devs confidence in choosing SS, and its extensibility.

Show addon total count, number added in the last 30 days, number of releases in the last 30 days. We probably don't have enough activity yet to warrant "added this week", nor to show a "themes" count separately.

We could even graph the data, but that'd require us to either keep a record of the total counts, or change the internal structure to retain addons and go by their "created" date.

Document how to migrate a project from ss.org/modules to Packagist+composer+exts.ss.org

Should go on a (static?) help page on the site itself (would be too buried in docs.ss.org).

  • If ZIP upload, convert to git project first
  • Convert description to README on github, upload any images
  • Ensure composer.json has author info (with email)
  • Link to composer docs on how to decide on a namespace and declare dependencies
  • Describe how to add "sub-tags" for previous releases to make them composer compatible (e.g. blog 3.0.1 copied from blog 0.3.0 with an existing composer.json file)

Design theme list/grid view

  • Separate "themes" menu entry (same level as extensions
  • Show a small preview image of the them, preferrably in a gallery view (rather than the list view for extensions)

composer.json generator for existing ss.org modules

Natural followup work from #3: Provide a composer.json download for modules and themes hosted on ss.org already.

  • Convert description to README, inline any attached images (hotlinked to ss.org)
  • Author info from member profile
  • Dependencies

Create a generic SS community sites base CSS

To be used with bootstrap-based sites, for now primarily api.ss.org, extensions.ss.org and eventually ss.org. Note that this is different from a SilverStripe theme, since it should be useable in non-SS projects like the staticically generated api.ss.org as well.

"Force update" abilities for module owners (requires login implementation)

As long as we only update with a periodical task, even a 5 minute wait for packagist updates to propagate will be inconvenient to module authors. Particularly since they have to wait for Packagist to regenerate its packages.json in the first place. Allow force updating the specific module for module owners. In order to restrict this feature, we need some way to determine ownership on a module (ideally via an email-based login).

Implement screenshot extraction

Should allow extracting single or multiple screenshots defined in the extra section in composer.json. Should allow using local or remote images, and save them to local assets.

Single Signon with silverstripe.org

Ideally with ss.org as an OAuth server, but that might be too many dependencies for now. We should get it right the first time though, don't want to get into migrating partial user accounts for hundreds of users

Only list latest releases for each compatible SS version

If a module has many releases and branches its easy to clutter up the page, and make it unclear what to install. Say the blog module has a bunch of 0.6.x releases, but you want the 3.0 compatible version. You'd have to scroll all the way down to the latest 0.5.x release to get there.

We should list dev-master plus whatever is the latest release compatible with the major SS releases (3.1, 3.0, 2.4). Ideally each in a tab, defaulting to our latest stable release.

"Star" a module

Similar to the github approach. Acts as a "favourite modules" list, from which we can build up, e.g. customized RSS feeds, new version alerts, etc.

Dev note: Since we don't allow login, a lightweight approach for this would be browser localstorage.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.