silverstripe / addons.silverstripe.org Goto Github PK
View Code? Open in Web Editor NEWWebsite hosting Silverstripe Framework extensions
License: BSD 3-Clause "New" or "Revised" License
Website hosting Silverstripe Framework extensions
License: BSD 3-Clause "New" or "Revised" License
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.
See #31 for also disabling any state changing operations there.
Ensure elastic search still works, ideally as a third party service.
That would be a security risk
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
For example, ajshort/silverstripe-gridfieldextensions
should be displayed as ajshort/gridfieldextensions
.
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.
Same as rubygems.org: http://monosnap.com/image/GlaABiO7Um4J799bn82WZ50Ml
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.
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.
Each module detail page should have basic instructions around composer require ...
, and link to more detailed docs at http://doc.silverstripe.org/framework/en/topics/modules. There should also be some blurb on the homepage.
Depoyment task, not related to this codebase. The old updating logic causes a deluge of error emails due to wrong git paths, etc
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).
We don't need a failwhale, but a few nice words in the same design framing would be nice :)
Link to extensions.ss.org project on github, potentially add copyright info
PHP Fatal error: Call to a member function obj() on a non-object in framework/view/SSViewer.php on line 90, referer: http://addons.silverstripe.org/add-ons?search=simon
https://gist.github.com/ss23/6459500 is a var_dump of $list just before the end of Addons()
Someone else should investigate, because I have no idea. Suspect it's related to the search?
Would be nice to have a better error message if there is an issue there.
We can infer the download links from the github projects (or use their API?). One download per version.
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.
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?
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.
Special case for github: Prefix all relative links with http://raw.github.com
and their repo path, to avoid broken images.
Or see if we can use the Github rendering API with the context
attr for it: http://developer.github.com/v3/markdown/
Example: http://addons.silverstripe.org/add-ons/heyday/silverstripe-dataobjectpreview
Should go on a (static?) help page on the site itself (would be too buried in docs.ss.org).
Note: Use https://github.com/silverstripe-labs/silverstripe-environmentcheck
Critical feature since many modules are still in the process of making their codebase 3.x compatible.
Natural followup work from #3: Provide a composer.json download for modules and themes hosted on ss.org already.
Cool URIs don't change :)
See #8 for design and approach. Ideally we can read the screenshot from custom "extra" field data in composer.json (see http://getcomposer.org/doc/04-schema.md#extra).
Prevent modules which are known to be broken or harmful from appearing on the site.
A transaction is started for each module when it's being built, but this can take a long time, leading to locking issues.
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.
E.g. "Will Rossiter" on http://extensions.andrewshort.name/extensions/silverstripe/userforms should link to http://extensions.andrewshort.name/maintainers/16
The newest version should be shown first.
Example: http://addons.silverstripe.org/add-ons/simonwelsh/hasoneedit
Readme you get from a composer install of the module: http://svn.simon.geek.nz/hasoneedit/trunk/README.md
Repository links in git format don't work.
Clicking on a link to the repo i get a 404 cause the link isn't formatted correctly:
http://addons.silverstripe.org/add-ons/azt3k/abc-silverstripe-social
clicking on
[email protected]:azt3k/abc-silverstripe-social.git
i get
http://addons.silverstripe.org/[email protected]:azt3k/abc-silverstripe-social.git
This is just a random example i just stumbled over.
Update http://doc.silverstripe.org/framework/en/topics/modules
This is not strictly related to this project, but since its a pre-launch task I'm tracking it here.
We want permanent URLs as much as possible, but names can change. Thankfully in a structured way through composer (http://getcomposer.org/doc/04-schema.md#replace) so we can pick up on that. Its unclear how ownership is handled, presumably we'd have to check that the old package name no longer exists to avoid somebody "stealing" a module.
Hi
I seem to have installed everything correctly, but I can not retrieve modules. I run the task (dev/tasks/UpdateAddonsTask?clear=1) , but I cant seem to get any packages.
I looked into it:
composer/composer#2137
but as I got deeper and deeper into composer, I have lost track of what is going on.
Let me know.
Nicolaas
See here:
http://addons.silverstripe.org/add-ons?search=&type=module&sort=downloads
Select any version and click search:
http://addons.silverstripe.org/add-ons?search=&type=module&compatibility%5B%5D=3.0&sort=downloads
No results
Ideally serverside, so we can have it influence search results. At the most basic level, something like http://ghbtns.com/ will do though.
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).
See http://addons.silverstripe.org/add-ons?search=*external*&type=&sort=
It should rank "silverstripe/external-content" above sqlite3. This has become a problem since we started indexing the README
http://addons.silverstripe.org/add-ons?search=&type=&compatibility%5B%5D=3.0&sort=
Its handy to show you all modules compatible with a specific version
/cc @sminnee
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.
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
For example, http://extensions.andrewshort.name/extensions/silverstripe/basic-galleries no longer exists on Packagist (seems to have its vendor prefix renamed)
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.
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.
A 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.