Module scores for addons.ss.org (Mini-Project)

349 views
Skip to first unread message

Cam Findlay

unread,
Jan 11, 2014, 8:09:08 PM1/11/14
to silverst...@googlegroups.com
Hey SilverStripers, 

I have been tasked internally here at SilverStripe to start to put together a discussion document and some recommendations to help solve the following problem:

How can I quickly find out which modules are of a good quality and do what I expect them to do when I install them?

While initially the initial plan was to solve this for our internal teams, I believe this is something useful for the community and should be solved in a public space to benefit everyone.

There has been some discussion in the past on this, but no concrete action on this idea of ratings/quality score in an easy accessible space (or anyone to drive this)... 
This is where I come in as Community Manager, thinking a bit more strategically and able to advocate internally to ensure we get some useful tools built to serve the community.

What I would like to start is a dialogue around is the possible options for creating such a ranking or score for modules on http://addons.silverstripe.org

These are my thoughts and some questions so far, nothing is locked in until I spend some time listening and taking lots of perspectives on-board.

  1. How do we define a "quality" module?

  2. Why do we care about quality code? My thoughts are that it helps long term with more maintainable codebase for projects. 

  3. How could we measure a level of quality for a module? Is this automated? How might we do this?

  4. As per https://groups.google.com/d/msg/silverstripe-dev/OhsMiuROqAc/nTTscSt2nswJ I have similar thoughts around a 2 part measure. One part being more objective based on "quality" (however we define this) and the other a community measure. This community metric could be either a rating, or others have suggested that composer installs or github favourites could act as a proxy for "is a good/useful module".

  5. My hope is that a 2 part metric will help keep a balance and provide incentive to improve module quality. For example, a module of amazing quality may have a high quality score, if it doesn't do anything useful will get a low community usefulness score/rating. A module that is really useful, but missing unit tests/poor code quality would be the opposite. 

  6. Should part of quality include some measure of time? Modules that get less commit love on github and less maintained might affect the quality score? Could we add the extra dimension later once we get an initial system running?

  7. Should the two measures combine into a single module score? do we display these scores separately? Or both? What might this look like visually on addons.ss.org?

  8. Ingo pointed out to me this site http://knpbundles.com/about/faq-scoring shows the idea of a type of quality/popular metric scoring (again, not saying this is what we are going to do but opening dialogue).


Some of the current issues/challenges are:

  •  That we do not have Single Sign On for addons.ss.org to be able to link to your SilverStripe Member profiles on the main community site.
  • This affects lots of people, most likely everyone has different ideas about code quality and the democratic community rating process, how do we get something workable that is useful and does solve the original problem?

I'm going to be work shopping this a bit at the new Auckland SilverStripe developer meetup and will report any finding/insights back here. 

Meanwhile, I would be interested in hearing what you think, feel, and would like to see happen around this project. Apologies for the rather long post :)

Thanks all, look forward to some interesting discussions.

~ Cam.

colymba

unread,
Jan 12, 2014, 11:46:36 AM1/12/14
to silverst...@googlegroups.com
I think that having some kind of scoring for modules would be a great addition! Always found it a bit hard to find something relevant on the current addons.ss ...

I like the http://knpbundles.com scoring tactic... and we could probably use something similar on top of community vote and code quality...

Also thought that it might be good to separate Core SS Team modules from the community ones. Which would actually free up some slot for example on the popular section of the landing page of addons.ss and maybe make this more relevant. For example, everything from the silverstripe/silverstripe-themes vendors would have it's own "feature box" (maybe even listed separately from the rest all together?). And to take it even further extract the core silverstripe modules that everyone will have by default anyway, mainly installer, framework, cms and simple?

To me, using different factors to compute 1 overall score might be the most useful. Some ideas about what those factors could be:
  • download count
  • github stars
  • forks by other users
  • has a readme
  • compatible with the latest SS version
  • loose point if only compatible with old ss like 2.4
  • points for each module using it as a dependency
  • extra points if it is used as a dependency by ss core modules?
  • Not sure about the commit frequency since some modules might work very well as they are and not need much updates ever....

Marcus Dalgren

unread,
Jan 12, 2014, 1:03:23 PM1/12/14
to silverst...@googlegroups.com
Awesome that this discussion has started up again. I just want to kindof reiterate what I said last time, namely that I think that we should be really careful about implementing some kind of automated rating system that ends up spitting out all these metrics that noone really cares about anyway.

I also think it would be nice if we could get to know what kind of resources (if any) are available for this effort. The forums have been having spam issues for quite awhile now and as far as I can see (by reading the thread here) those issues haven't been resolved yet. Throwing around long lists of metrics and features about what we want just doesn't feel all that realistic when viewed from the "will it get done?" perspective. My guess is that the resources are limited and I think it would be nice if we had that in mind when discussing features.
I really think that we should have a discussion about what the smallest piece of awesome is that we could implement for the modules site and then go about doing that. I just don't see something like the knp system or the stuff that Colymba suggests happening and even if it did I'm not convinced the metrics are worth the time you'd have to spend building that kind of system.

Now I hate to be the one to bring up WordPress but they went for the simple approach and in a majority of cases it works really well. They're swimming in plugins yet I've never had any problems finding what I'm looking for and making a call about if it does what I want or not. Are they all examples of super code quality? No but in alot of cases that just isn't the most important thing.

For me the smallest piece of awesome is user ratings and user reviews. I see that Disqus is implemented on the site and I guess that can be used for questions but reviews, ratings and downloads (which we already have) would get us very far I think.
After that's finished and has been running for awhile we could evaluate if we need to track additional metrics or whatever but starting with a big metric list is just making the mountain too high.

I also agree with Colymba that the core modules (framework, cms etc) really shouldn't be on the addons site or if the are, they should be in a special section.
Another thing that would be really nice is "real" module names. Right now the module names are things like undefinedoffset/sortablegridfield. The module name should really be "Sortable Grid Field" in this case.

My 2 cents.

Szabesz

unread,
Jan 12, 2014, 2:29:03 PM1/12/14
to silverst...@googlegroups.com
Dear all,

On 2014.01.12., at 19:03, Marcus Dalgren <mar...@raket.nu> wrote:
> Another thing that would be really nice is "real" module names. Right now the module names are things like undefinedoffset/sortablegridfield. The module name should really be "Sortable Grid Field" in this case.

I agree. We definitely need easy to read names, that is the most basic thing we need.

And it would also be nice to be able to _browse_ by categories, that is to be able to drill down by choosing more categories than only one at a time. That silly tag could is really hard to digest. Filtering with boolean AND operators would help a lot.

Some tags "do not seem to work", for example:
http://addons.silverstripe.org/add-ons?tags%5B0%5D=e-commerce
gives me no result, though the tag's label shows 60 mathces.

I also liked the screenshots/avatars of the old add-on listing. With the help of those images it was even easier to recognize something you already knew. This way you do not have to read names, you can just skip those add-ons while browsing.

Other than that, nice work so far, thanks :)

best
Szabesz


Nicolaas Thiemen Francken - Sunny Side Up

unread,
Jan 12, 2014, 5:16:02 PM1/12/14
to silverstripe-dev
Hi Everyone

May 2014 be a crazy, outlandish, wonderful and inspiring to all of you!  

Cam, great topic. 

I agree with most of what is said, but here are a few little notes - probably less than one cent worth. 

Tags are the way to go BUT tags need to be edited, organised and maintained manually.  This will make it easiest to find what you need.  Tags are multidimensional and could include: "Forms and Fields", "Top Author", "Translated", "Test Suite Included",  "Geospatial", "Top Download", etc... As a searcher, you can then tick the tags that you need and get a good idea of options.  

There are modules that are fairly generic and work for most (e.g. Blog) and there are modules that work for very specific purposes (e.g. Yahoo API connector).  To say what modules are best / worse is hard to do without context (exact requirements of the user) and popularity will not help innovation or diversity. 

Here are some alternative ideas: 

on http://addons.silverstripe.org/, we add a new page type.  On this, any registered user can write a requirement - e.g. looking for an easily installable module that is compatible with SS 3.1 and does Foo Bar and Bla. Then allow people to comment on each requirement ... e.g. try Module X, I just installed it and apart from Y it works great - bla bla... We could also run a "recommendation service" like this via a FB Page or Twitter Handle. 

Secondly, we could have a standard install service where the author, or a person designated by the author, can install a module for lets say EUR50. This could be a motivation for authors to provide more detailed information about their modules, etc... 

Thirdly, I have been thinking about a demo system, where you can install any module to see how it works ... 

If any of you is interested in any of the three ideas above and/or the manual tagging system then I would love to work with you to develop something like this. 

Nicolaas






--
You received this message because you are subscribed to the Google Groups "SilverStripe Core Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to silverstripe-d...@googlegroups.com.
To post to this group, send email to silverst...@googlegroups.com.
Visit this group at http://groups.google.com/group/silverstripe-dev.
For more options, visit https://groups.google.com/groups/opt_out.



--
Nicolaas Thiemen Francken  

Nicolaas Thiemen Francken - Sunny Side Up

unread,
Jan 12, 2014, 5:25:23 PM1/12/14
to silverstripe-dev
As an afterthought, a very useful metric is the commit record... This graph gives you an instant idea of the status of the module... When was the last commit, how many commits, when was the highest intensity of commits, when was the first commit, etc...  If this was visible on add-ons then it would make "review" / "searching" a little faster and a little more informed. 

Shaun de Greeff

unread,
Jan 13, 2014, 1:34:45 AM1/13/14
to silverst...@googlegroups.com

I like the idea of a user rating system with some sort of comment facility. Could maybe do with something like a wish list as well. Sometimes a module is purpose built and released, but has potential above what the author originally thought of.

 

Another thing to consider is that downloading add-ons/modules is currently anonymous. If i think of sites that really encourage commenting like Netflix or Tripadvisor they all tend to follow up with the user in some way or another. It could be (like netflix) that the next time the user logs onto the module download section that he gets prompted to give a review of the last module he/she downloaded or x days after downloading a module gets a email that allows him/her to comment. That would require that users log in of course so we could collect data, but i think we will get more feedback this way. Doesn't help if we have this awesome system for rating modules but very few people actually rate it.

 

Shaun  

--

Cam Findlay

unread,
Jan 13, 2014, 4:42:48 PM1/13/14
to silverst...@googlegroups.com
Hey Marcus (and everyone that has responsed),

We just released some fixes to the forum yesterday which will help to cull the current spam situation, so there is some progress on that :)

My approach currently is to take the conversation quite wide to dialog about what might be possible and once I absorb all the feedback I'll start to drive the conversation in more refined and concrete ways to zero in on what is realistic and doable. 

Resource wise, I can internally pitch for resource once we come up with something useful and doable plus I'm sure if we carry out the work in an open and transparent space anyone community wise can lend a hand too.

I do like your idea of focusing on a small, easy implementable, best bang for buck pieces of functionally. I am thinking I will likely craft a series of user stories after understanding everyones points of view and see if there is a way we can work iteratively on small pieces that over time add up to a useful whole (hence this initial wide conversation).

Can you add more details around what you like about wordpress' module experience Marcus? :)

Reviews sound like a good idea, real names for modules is good but could be interesting to manage, and agree that perhaps framework and cms might be better having their own space.

Keep the awesome ideas and dialog flowing... and thank you all for such useful feedback.


I'll keep updating as I progress on my exploration of this challenging project.

Go community...

~Cam

Marcus Dalgren

unread,
Jan 14, 2014, 10:15:12 AM1/14/14
to silverst...@googlegroups.com
Awesome timing with that forum update! If you'd been just a little faster I'd have to eat both my shoes. ;)

As for what I like about the WordPress plugin directory has alot to do with its simplicity and with their understanding of their customer base.
They've long had an understanding of who uses WordPress and catering to those who might not be the most technical of users. They care alot about those who don't understand how everything works yet and try to make sure they have a pleasant experience.
SilverStripe does lean more towards experienced developers but I think we should spend some time thinking about those who've just arrived in our wonderful echo system and are trying to understand how things work.

Let's say for the sake of argument that I'm a dev who's been doing mostly WordPress development so I have some CMS understanding. I have seen some OOP code and might have written some myself but it's not my strongest skill right now. I have not used or heard of Composer yet since I haven't been in that part of the PHP echo system.

I have downloaded and installed the CMS from the web site, read some tutorials and figured out how to create my own page types and add my own fields to them. I just read about addons and found the addons site. I end up on the start page for the addons site and shit just got alot more daunting. Expecting something like the WordPress plugin directory I instead get a site where the plugins have really weird names and I can't find anywhere to download them.

To be fair the addons site is pretty upfront about the Composer dependency but the point here is that the site is catered for those of us who already know how everything works. We're the crowd who've been working with SilverStripe for a couple of years and loves Composer etc. Speaking for myself I just use Packagist directly and if I'd arrived as the user I just described I might have just bounced right off. Another point here is that we've most likely made the addon experience harder for newcomers compared with the old module system on silverstripe.org. In the old system you could at least download the modules directly.

We need to define our target audiences (like the user stories you mentioned) and figure out what their needs are. Like I've said before I think alot of the stuff that has come up are what I'd label "developer" needs in the sense that its stuff that developers think are cool but not necessarily something that caters very much to the end user.
Is the inexperienced dev I've described someone we actually want to cater for or should he just fuck off for a couple of years and come back when he's more experienced?

What we should prioritize building will be alot clearer depending on how we answer questions like that. If the answer is yes, new devs arriving who might not be all that experienced should expect a nice experience/learning curve then I think we might need to rethink things. Focus should be on "easy" straight forward metrics like downloads, ratings and reviews.

If the answer is that the site is mostly for us who already know how stuff works and can probably find those modules via packagist anyway then maybe the answer is that yes we should track all that crazy stuff.

Oh and we should really have a direct download link on the addons site even if that's not the way we ideally want people to consume SilverStripe modules. Just grab the master download link from Github. Especially since the documentation says you can download them directly from the addons site.

Szabesz

unread,
Jan 14, 2014, 10:54:14 AM1/14/14
to silverst...@googlegroups.com
"new devs arriving who might not be all that experienced should expect a nice experience/learning curve then I think we might need to rethink things"

+1 yes to this option (since I'm such a dev)

Shaun de Greeff

unread,
Jan 14, 2014, 11:39:13 AM1/14/14
to silverst...@googlegroups.com

I agree...i mostly download modules directly from github and install the old way...been having problems getting composer to work on my side. So direct links would work well for me.

I also think we need to ask what is the long term goal of Silverstripe. Is it a CMS for developers or do we want to expand much further beyond that. If that is the case then things like documentation

(which may i add has come a long way from 2 years ago!!!) and making things a bit more obvious foor noobs will go along way.

 

Something else i picked up recently is that if you visit your forum member profile http://www.silverstripe.org/ForumMemberProfile/edit and try to click on

'submit a new module' or 'submit a new widget' or 'submit a new theme' you get a error...maybe something to look into

--

vikas srivastava

unread,
Jan 14, 2014, 12:11:24 PM1/14/14
to silverst...@googlegroups.com
Hello !

We even have designs for download links on addons site but atleast I never managed time to fix this issue . If someone can pick this ;) 

cheers.


Vikas Srivastava
Software Engineer | SilverStripers LTD

Skype: viky2130
twitter: @openbeesV

Will Rossiter

unread,
Jan 14, 2014, 2:40:38 PM1/14/14
to SilverStripe Development
 I have not used or heard of Composer yet since I haven't been in that part of the PHP echo system.

Composer is there to make life easier as more and more of SilverStripe is stripped out into modules / using thirdparty libraries and before handling dependancies is a nightmare. Already ran into issues with community users trying to use direct downloads (through github) not including assets linked in through submodules and composer. 

Using composer is a behaviour we need to encourage rather than workaround. Would be great to know what issues people run into with composer so we can document / video / explain enough to get everyone using it.

Now that we have the composer / addon's implementation it should also be easier to provide a modules GUI module in SilverStripe to manage / install modules (so at only 1 direct download I guess). Rather than using direct downloads, the module GUI would leverage composer but just hide the implementation details from the user. So best of both worlds :) 

Marcus Dalgren

unread,
Jan 14, 2014, 2:56:17 PM1/14/14
to silverst...@googlegroups.com
Hi Will,

Before arguing with you I just want to say that I agree with you in principle. I love Composer too and think it's been a not so quiet revolution for the PHP echo system.
When reading about the GUI idea one question that immediately popped up in my head was "would that work in a shared hosting environment?". I guess you could ship SS with the composer.phar and leverage that but I'm really unsure if many shared hosting providers will let Composer do its thing. I will try this out myself on some of Swedens big shared hosting providers but I'd be surprised if it just worked.

You bring up a really good point about module dependencies which is one of the big weaknesses of the WordPress plugin directory. Since they don't have dependency management everything is standalone while SS uses Composer so many modules are interdependent. This is great but could be a serious snag if/when offering direct downloads of addons.

Great idea about offering Composer help!


On Tuesday, January 14, 2014 8:40:38 PM UTC+1, Will Rossiter wrote:
 I have not used or heard of Composer yet since I haven't been in that part of the PHP echo system.

Composer is there to make life easier as more and more of SilverStripe is stripped out into modules / using thirdparty libraries and before handling dependancies is a nightmare. Already ran into issues with community users trying to use direct downloads (through github) not including assets linked in through submodules and composer. 

Using composer is a behaviour we need to encourage rather than workaround. Would be great to know what issues people run into with composer so we can document / video / explain enough to get everyone using it.

Now that we have the composer / addon's implementation it should also be easier to provide a modules GUI module in SilverStripe to manage / install modules (so at only 1 direct download I guess). Rather than using direct downloads, the module GUI would leverage composer but just hide the implementation details from the user. So best of both worlds :) 

On 15/01/2014, at 6:11 am, vikas srivastava <viky...@gmail.com> wrote:

Hello !

We even have designs for download links on addons site but atleast I never managed time to fix this issue . If someone can pick this ;) 

cheers.


Vikas Srivastava
Software Engineer | SilverStripers LTD

Skype: viky2130
twitter: @openbeesV

Shaun de Greeff

unread,
Jan 14, 2014, 2:58:52 PM1/14/14
to silverst...@googlegroups.com

Videos on setting up composer will be brilliant especially in a Windows Wamp environment. I know that many developers that use Mac are used to shell commands but this was a bit foreign to me...took me a long time to realise that Windows Powershell was already installed on my PC :-)

 

From: silverst...@googlegroups.com [mailto:silverst...@googlegroups.com] On Behalf Of Marcus Dalgren
Sent: 14 January 2014 09:56 PM
To: silverst...@googlegroups.com
Subject: Re: [silverstripe-dev] Module scores for addons.ss.org (Mini-Project)

 

Hi Will,



Before arguing with you I just want to say that I agree with you in principle. I love Composer too and think it's been a not so quiet revolution for the PHP echo system.
When reading about the GUI idea one question that immediately popped up in my head was "would that work in a shared hosting environment?". I guess you could ship SS with the composer.phar and leverage that but I'm really unsure if many shared hosting providers will let Composer do its thing. I will try this out myself on some of Swedens big shared hosting providers but I'd be surprised if it just worked.

You bring up a really good point about module dependencies which is one of the big weaknesses of the WordPress plugin directory. Since they don't have dependency management everything is standalone while SS uses Composer so many modules are interdependent. This is great but could be a serious snag if/when offering direct downloads of addons.

Great idea about offering Composer help!

On Tuesday, January 14, 2014 8:40:38 PM UTC+1, Will Rossiter wrote:

 I have not used or heard of Composer yet since I haven't been in that part of the PHP echo system.

 

Composer is there to make life easier as more and more of SilverStripe is stripped out into modules / using thirdparty libraries and before handling dependancies is a nightmare. Already ran into issues with community users trying to use direct downloads (through github) not including assets linked in through submodules and composer. 

 

Using composer is a behaviour we need to encourage rather than workaround. Would be great to know what issues people run into with composer so we can document / video / explain enough to get everyone using it.

 

Now that we have the composer / addon's implementation it should also be easier to provide a modules GUI module in SilverStripe to manage / install modules (so at only 1 direct download I guess). Rather than using direct downloads, the module GUI would leverage composer but just hide the implementation details from the user. So best of both worlds :) 

 

On 15/01/2014, at 6:11 am, vikas srivastava <viky...@gmail.com> wrote:



Hello !

We even have designs for download links on addons site but atleast I never managed time to fix this issue . If someone can pick this ;) 

 

cheers.

 

 

Vikas Srivastava

Software Engineer | SilverStripers LTD

 

Skype: viky2130

twitter: @openbeesV

Cam Findlay

unread,
Jan 14, 2014, 5:46:23 PM1/14/14
to silverst...@googlegroups.com
Great info Marcus, 

I agree that looking at defining exactly who addons.ss.org is for will be key.  However no matter which group uses it we still would like to answer the question of helping all (newcomers and experienced devs) find those modules that are really useful. 

I know often I use modules that I have used before in other projects successfully, but that is not to say that another module which may do a similar function only better exists or will come into existence. Would be nice if we had a way of getting these modules on my internal radar as "worth looking at for projects". So far I am liking the ideas around reviews/real world use being shared. Looking at WP that seems to be coupled with a 1-5 rating from the reviewer. (Question, would the review be skewed depending on who was doing the reviewing? experienced devs might give a good review as they understand how to work with it VS newbie who couldn't get it to work because they actually needed to write some code or set a config?).

Something worth reading in context of our conversation might be Sam's blog post a while ago about "duck programming" which to some degree highlights some of the underlying core ideology of SilverStripe's open source approach. http://www.silverstripe.org/duck-programming/

Is this changing? Or are we to stay true to this way of thinking?

Should we spend more time educating and guiding new users through the experience of learning tools like composer so that they come out the other end being able to fully utilise a tool like the addons.ss.org site. Perhaps long term this will give a better developer experience in terms of handling dependancy management and has a better fit with our core ideology how how things are done with SilverStripe?

Or are we changing? Are we becoming a commodity based plug and play framework/cms? Do we want to be that? 

Back to the topic at hand, lets discuss two potential personas of users and the likely needs of these groups in relation to some sort of indication of a "good" module.

1) The user that Marcus described (coming from WP, has managed to get SS installed now wants more functionality from "plugins". Let's call this Persona A so you can refer to them easy in your replies.

2) The more experienced user who needs to be aware of new and "good quality" modules for use in project work. (Persona B). 



Keep up the awesome dialog, I'm listening and will look to take all this onboard.

Cam.

Shaun de Greeff

unread,
Jan 14, 2014, 7:45:24 PM1/14/14
to silverst...@googlegroups.com

"Should we spend more time educating and guiding new users through the experience of learning tools like composer so that they come out the other end being able to fully utilise a tool like the addons.ss.org site"

 

I say YES! Give them the tools so that they can become better developers. Don't be scared to set the bar high for what you require on modules, but give them resources so they can get there if they want to put in the time. I consider myself a intermediate dev and i like the fact that Silverstripe offers a really flexible platform that you can extend. Personally all i am interested in is the tools to help me build cool software, mass producing websites with a click of a button seems very boring. I can't tell you how much of a difference the documentation made when you changed it (i think when SS3 came out)...because i could get answers if i put in the time.

 

Although there are certain modules that i use often for example GridFieldBulkEditing and SortableGridField, modules like these don't hamper my ability to write my own modules and customise my site, they improve my ability to do so quickly. The point i am trying to make is that having 100 really good modules is far more effective than 100 000 crappy ones. Case in point recent run-ins with Joomla sites that were compromised because of poor quality code in modules.

 

So if 'Persona A' gets to the ad-ins site, sees a module with good documentation that is of good quality and still can't get it to work because there isn't a button that auto installs then i say good riddance. He's probably not going to give anything back to the community in anycase.

 

However if an 'Persona B' struggles because the documentation, code and standards is poor then what is the point of even having the module?

 

Possible solutions?

 

·         So what if a module receives a certain amount of poor ratings by the community then it gets flagged and a Silverstripe dev notified. That way at least the poor quality stuff can be removed, or the author can be notified that he has to rectify certain issues for it to remain on the ad-ins site?

·         This is all predicated on lots of reviews. Lets say i write a module that is a 3 star...for a Persona B...but a Persona A tries to use it, fails and gives it a 1 star....the system should at least allow for a minimum amount of reviews before it flags the module as poor quality

·         Also the more users are prompted to rate modules the better stats we can collect, the better we can judge the quality of the modules.

·         Colymba mentioned some factors that would influence auto rating...why not make some of them minimum requirements?

 

 

 

Nicolaas Thiemen Francken - Sunny Side Up

unread,
Jan 14, 2014, 8:03:27 PM1/14/14
to silverstripe-dev
What about a module review service? Where, as a module developer, you can submit your module and it gets reviewed on a number of points - e.g.

security
code format
install-ability 
documentation
target group (novice, medium, advanced)
etc...

We could have some sort of peer-review system: you can get your module reviewed after you review someone else's module. 




--
You received this message because you are subscribed to the Google Groups "SilverStripe Core Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to silverstripe-d...@googlegroups.com.
To post to this group, send email to silverst...@googlegroups.com.
Visit this group at http://groups.google.com/group/silverstripe-dev.
For more options, visit https://groups.google.com/groups/opt_out.



--

Cam Findlay

unread,
Jan 16, 2014, 9:19:41 PM1/16/14
to silverst...@googlegroups.com, ma...@sunnysideup.co.nz
Just a quick update:

We workshopped this at the community meetup in Auckland, NZ this week. Lots more good information to help guide my investigation.
The teams internally at SilverStripe have also had some input! 

Hoping I have covered the many stakeholders as far as consultation goes :)

Soon I'll sit down and absorb everyones feedback and start to form some more concrete and realistic recommendations, it might require a follow up survey of some variety (I'll try to keep it short).


 Will keep you in the loop, for now please feel free to add any further thoughts. You feedback so far has be excellent and am pretty excited for future community projects and conversations taking this approach.


Keep being awesome community!

~Cam

vikas srivastava

unread,
Jan 19, 2014, 2:11:14 AM1/19/14
to silverst...@googlegroups.com
Hello Guys !

quick update on addon site : zip download link for GitHub hosted addons is just one merge away ;)

@Ingo Need review/merge for this pull request :)

cheers

Vikas Srivastava
Software Engineer | SilverStripers LTD

Skype: viky2130
twitter: @openbeesV


Cam Findlay

unread,
Jan 19, 2014, 4:09:42 PM1/19/14
to silverst...@googlegroups.com
Thanks for that update Vikas, 

Perhaps this might have been better started in a new thread? However it does have some relevance to the current discussion in this thread (being about addons but focused on the scoring system).

I have added my thoughts on this pull request for your consideration at https://github.com/silverstripe/addons.silverstripe.org/pull/64 :)

Keep up the awesome work, 
Cam.


On Sunday, 19 January 2014 20:11:14 UTC+13, vikas srivastava wrote:
Hello Guys !

quick update on addon site : zip download link for GitHub hosted addons is just one merge away ;)

@Ingo Need review/merge for this pull request :)

cheers
Vikas Srivastava
Software Engineer | SilverStripers LTD

Skype: viky2130
twitter: @openbeesV

Loz Calver

unread,
Jan 23, 2014, 4:44:48 PM1/23/14
to silverst...@googlegroups.com
Personally, if I find multiple modules that do the same thing/same testing level etc I'll typically order them, at first glance, on author:

1. SilverStripe's own modules (inc. silverstripe-labs)
2. SilverStripe core committers
3. Digital agencies and individuals I know through the community
4. Other individuals

Perhaps we could do something clever with Github organisations or highlight core committers/modules? Not sure what the limitations of composer/packagist/Github are here though.

Nicolaas Thiemen Francken - Sunny Side Up

unread,
Jan 23, 2014, 4:59:33 PM1/23/14
to silverstripe-dev
​Hi Loz

1. SilverStripe's own modules (inc. silverstripe-labs)
2. SilverStripe core committers
3. Digital agencies and individuals I know through the community
4. Other individuals

While I pretty much do the same thing, I think this is a dangerous approach and this is exactly what we want to get away from, because this method does not support new-comers and it does not allow for variation for one author.  I think we need to grow our community and we should asses modules (not authors) on their merit. For example, I have written a few modules that are pretty useful, but lots of them that are pretty useless. 

I think the organisation of the modules is not so much about good vs bad but more about a clear description of what to expect and what not to expect.  Even a completely unworkable module can be super useful to someone who is looking for one particular trick that happens to be in this module. 

NIcolaas

Naomi Guyer

unread,
Jan 23, 2014, 5:36:54 PM1/23/14
to silverst...@googlegroups.com
Authorship matters less to my choice of module than activity. If all things are otherwise equal, I'm more likely to go for a module that has been updated in the last 6 months over one that hasn't. 

I'm also more likely to choose a module made for SilverStripe 3.* (or significantly modified), than one that has been updated to be 'compatible' with 3.*. 

--Naomi

Naomi Guyer | Front-End Developer
SilverStripe

Phone: +64 4 978 7330
Mobile: 021 145 2604
Skype: adrexia


Michael Strong

unread,
Jan 24, 2014, 3:20:24 PM1/24/14
to silverst...@googlegroups.com
Finally got round to replying to this... here's my input.

At the moment I kind of agree with Loz's method of choosing whether to use a module or not. If its somebody I know & trust, i'm more likely to test the module. The date of when it was last updated is also a factor.

Taking a step back from the original question, i'd first like to see more guidance for developing and releasing modules. For example, should we stick to a convention for versioning? What information should a README contain?

To improve the quality and consistency of modules i'd like to see some sort of checklist which asks the following questions:
  • Does your module contain a README with all relevant information (could a template be provided?)
  • Does you module include tests (is it hooked up to CI server?)
  • Have the silverstripe coding conventions been met?
  • Does it include a license?
  • Does your module support composer?
  • Does your module have a stable release?
  • etc...

Back to your original question, I think meeting the criteria above goes some way to helping a developer decide whether a module is well maintained and is of good quality.

A feature i'd like to see on the addons site is something which tells me whether or not a module has been tested with a version of silverstripe & whether it works or not. This would save me downloading and installing a module just to find it doesn't work. An example of what I mean can be found at the bottom of the right sidebar: http://wordpress.org/plugins/nextgen-gallery/

I think the star rating system is a good idea. Some modules might be undeservedly given low ratings at times, but all modules would be open to the same criticism. Overall it would still give a good idea of which modules are good and which are bad.

One more thing: I see there are already comments at the bottom of each module on the addons site. It would be beneficial if users were encouraged to leave reviews as comments as opposed to just having a generic comments section. Users seeking support should be directed to the github page, irc channel or forums which would be more helpful to everyone involved.

Regards,
Michael (micmania1)

--
 
Daykin and Storey Logo Michael Strong  |  Web Developer
Tel: (0191) 300 9444  |  Web:  www.daykinandstorey.co.uk  |  Map
Open University Building, Baltic Business Quarter, Gateshead, NE8 3DF
Daykin & Storey Ltd. is registered in England & Wales, Company Number 8438063
Azure and Virtuoso Combined Logo
Part of the Daykin & Storey Group

Cam Findlay

unread,
Jan 25, 2014, 4:54:37 PM1/25/14
to silverst...@googlegroups.com
Righto...

Between everyone here on the dev list, internal SilverStripe teams and running a workshop at the Auckland meetup I think I have a heap of great material to research and start to consolidate down some actionable ideas.

I'm off on jury duty tomorrow so there will be a lot of waiting around... but I have a copy of everyones feedback I'm going to read over and start looking for common themes that have come up over that last couple of weeks. 

Will report back here once I have digested the material, processed everything in my brain and have dealt with the complexity as to get things into some useful order.

One issue that has come up that would be good to get some ideas around is that any review or rating system needs to be tied to some sort of account or storage mechanism otherwise it becomes a bit of a free-for-all.

Ideas so far around this are:

  1. Turn silverstripe.org into an OAuth server and allow using your central SilverStripe account for SSO on other ss.org sites.
  2. Github account integration
  3. Some sort of session/token based storage
  4. just add your details at the time of rating/review (name, email etc)

I'm sure there are other ideas, so far option 1 would be preferable for me as long term I would like to make having a SilverStripe account a valuable thing for our members to sign up for.


Thanks again everyone for your input, this is my first reasonable sized community consult/research project after coming onboard as the Community Manager so hope it all works out great and we work together to move the community forward in really positive ways :)

~Cam

Nicolaas Thiemen Francken - Sunny Side Up

unread,
Jan 25, 2014, 8:08:56 PM1/25/14
to silverstripe-dev

A feature i'd like to see on the addons site is something which tells me whether or not a module has been tested with a version of silverstripe & whether it works or not. This would save me downloading and installing a module just to find it doesn't work. An example of what I mean can be found at the bottom of the right sidebar: http://wordpress.org/plugins/nextgen-gallery/


What would be awesome is if there was a server that could install any module using the composer.json file provided by the module and then give you admin access for an hour or so to test the module.  What is more, if such a system was in place, it would be a good way to the module's author to independently test the module (without the help of travis) and to provide some "dummy" (example) date to show off the workings of the module. 

Shaun de Greeff

unread,
Jan 26, 2014, 2:54:55 PM1/26/14
to silverst...@googlegroups.com

Hi,

 

·         I agree option 1 would be best

o   Another option to add to the list could possibly Disqus to seeing that ss docs seem to use Disqus for commenting

o   Would it be possible to make us of Option (OAuth server) ,Github and Disqus? Is a case of the more the merrier not better

o   What about social media such as Facebook or Google+. Companies like Tripadvosr allow Facebook login which gives the user to option to post their comments to their Facebook wall. Chances are that developers know developers and that they are friends on social media platforms, could that not help spread the word and get more discussions going?

·         Just a couple of observations of using option 1 as opposed to anonymous posting

o   Creating a unifom login platform will make it much easier for users to use and reduce hassle factor of commenting in future

o   Finding resources on github, adons and the support that is often documented on the forum becomes easier

o   Seeing ratings/comments from SS users that are well known like Willr and Uncle Cheese will be really good because their opinions carry allot of weight.
I.e anonymous posting would not have the same benefits   

o   Having a integrated approach makes it easier to follow and identify top quality developers

o   We already have a problem with spam. I feel using options 3 & 4 would compound the issue

o   Building a database of active users as opposed to anonymous users opens allot of doors in future:

§  We can identify contributors and rank them. Good example is what Aram did on SS-bits http://www.ssbits.com/members/profiles/

·         This will encourage more users to comment on modules. More comments should improve the quality of the code

·         I also believe that it will enhance the overall commitment in the community...people will want to get more involved because there is some measure of recognition

·         Imagine how powerful this could become if we could analyse metrics across ss.org, adons and github, we could really build up excellent user profiles that show how often they:

o   submit new modules

o   comment on posts

o   fork or commit on github

o   rate and comment on ad-ons

o   like posts or tutorials

 

Shaun

 

From: silverst...@googlegroups.com [mailto:silverst...@googlegroups.com] On Behalf Of Cam Findlay


Sent: 25 January 2014 11:55 PM
To: silverst...@googlegroups.com

--

Cam Findlay

unread,
Feb 2, 2014, 9:43:38 PM2/2/14
to silverst...@googlegroups.com
Hey all, was off the grid last week but got some time to collate all the feedback around this project...

Here is what I have learned from absorbing all the the community and internal SilverStripe staff feedback as a starting point:

  • Most requested piece of functionality which can help us start to help people find good quality modules was a combo of written reviews and a simple 5 star rating system (stars seem to be a well used convention so best to stick with this or perahps use mini SilverStripe logos 1-5?).
  • That the 'last commit' or 'last release' date would be useful to devs to understand how maintained or active a module is.
  • People often rely on the word of others in the community to help guide their decisions in choosing modules for projects, this backs up the need for reviews functionality (it is a meritocratic process well known peoples reviews will sway peoples decisions).
  • Rating on individual areas of quality may be useful but could be added at a later point once we test success of an initial review and rating function (if we are taking an agile approach). 
    • We would look to determine quality factors trough a survey/community research.
    • Currently top suggested quality areas are: (documentation, maintainability(commit frequency/activeness), extendability (ease of customising), tests/CI (do they pass?), versioned/tagged stable releases).
    • Ratings could be 5 stars on each of the above with the average across all being the overall 1-5 star rating.
  • We should take the time on addons.silverstripe.org to up-skill the dev about composer use (if the are new or coming from another framework/cms) , over it being a place to download zip files which may have dependancies (but we should still have some basic level of zip functionality).
Current issues I can see from above are:
  • We will need some kind of authentication/account for reviews/ratings.
  • Authentication should tie into the main SilverStripe accounts on ss.org.
  • Auth relies on some sort of OAuth or SSO (which may require some work on ss.org site prior to completing the addons functionality update which I'm looking to push internally to get done).
  • Reviews could either be tied to a specific release or the module as a whole, unsure which is best. Does each release get judged on it's own merit?
  • Adding new functionality to addons may need a bit of UX work to improve the interface given adding some new elements to the page.

There are a couple of sites I would liken the possible review and rating system to.

1) Tripadvisor.com
2) Numerous gaming sites that rate qualities of the game and then tally this into the final score.


Thats all for now, plan next is to continue on and write up some recommendations to pass on to SilverStripe.

The whole community consultation process has been reallly awesome! thanks again all.


Cam Findlay

unread,
Feb 22, 2014, 4:13:03 AM2/22/14
to silverst...@googlegroups.com
Quick update:

I put together a report around all the things we have been discussing here and some recommendations to move forward. This is now with Sam and Sig internally to read over.

There is going to need to be some pre-requisite work done on silverstripe.org prior to rolling out reviews and ratings on addons. I'll keep you all posted about that and if there is any opportunity to get stuck into new functionality on addons since it is on our github and open to pull requests :)

One thing if anyone has the time to have a play, if we start to add some new elements to addons the UI might get a bit cramped, if anyone had ideas or wants to draw up a wireframe for a better UI I'm keen to see how we might better layout the individual module pages and the module listing pages.

Simon J Welsh

unread,
Mar 9, 2014, 4:48:54 PM3/9/14
to silverst...@googlegroups.com
On 3/02/2014, at 15:43, Cam Findlay <c...@silverstripe.com> wrote:

> • We should take the time on addons.silverstripe.org to up-skill the dev about composer use (if the are new or coming from another framework/cms) , over it being a place to download zip files which may have dependancies (but we should still have some basic level of zip functionality).

I don’t agree with this at all. SilverStripe’s targeting entry-level and non-developers too. Having to teach someone how to use a command line just to install a module is a massive UX fail. Command lines aren’t friendly and there’s so many different versions for Windows (the main group of users that’ll need help using composer). Then you also have to teach people how to change to the correct directory, including one with spaces in the path; understand and correct errors; handle passing in * properly and a myriad of other things.
---
Simon Welsh
Admin of http://simon.geek.nz/

Nicolaas Thiemen Francken - Sunny Side Up

unread,
Mar 9, 2014, 5:47:05 PM3/9/14
to silverstripe-dev
From time to time I take over websites from other users... Often they lack any type of versioning system.  This is a nightmare and anyone who claims to be a web-developer should learn how to use a versioning system.  The reason this is a nightmare is that 

a) it is impossible to tell if any of the core modules (e.g. framework) have been edited.
b) it takes several hours to replace a framework version

I use SVN to manage my websites.  This is far less sophisticated than GIT and composer, but it is SUPER FAST and SIMPLE.... Especially with svn:externals.  With tortoise SVN, it is pretty simple to use SVN on a windows platform.  Maybe this is something we can promote and help people use as a first step towards GIT + composer.

I think Simon is right, but helping everyone in the community to step up a little (including myself) is a great goal....

Nicolaas




On 10 March 2014 09:48, Simon J Welsh <welsh...@gmail.com> wrote:
On 3/02/2014, at 15:43, Cam Findlay <c...@silverstripe.com> wrote:

>       * We should take the time on addons.silverstripe.org to up-skill the dev about composer use (if the are new or coming from another framework/cms) , over it being a place to download zip files which may have dependancies (but we should still have some basic level of zip functionality).
--
You received this message because you are subscribed to the Google Groups "SilverStripe Core Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to silverstripe-d...@googlegroups.com.
To post to this group, send email to silverst...@googlegroups.com.
Visit this group at http://groups.google.com/group/silverstripe-dev.
For more options, visit https://groups.google.com/d/optout.



--
Nicolaas Thiemen Francken
  www.sunnysideup.co.nz
  phone: +64221697577

Cam Findlay

unread,
Mar 9, 2014, 5:53:22 PM3/9/14
to silverst...@googlegroups.com
Thanks for this feedback Simon, 

By stating this I don't think we mean't completely disregarding entry level users. Instead that we should lead the charge to help these developers become better developers.

Sure, they can still grab the zips but we should offer the option to learn about composer and how it fits into managing SilverStripe dependancies. Longer terms this gives a better User Experience (that they don't struggle to get the correct dependancies). 

I'd like to treat developers coming to our sites as smart people who are willing to learn something new once they know the value of learning these skills. I'd like us to play a role in guiding these people through this.

Simon J Welsh

unread,
Mar 9, 2014, 9:49:18 PM3/9/14
to silverst...@googlegroups.com
The problem isn’t teaching them composer. It’s teaching (and requiring) them to use the command line. There’s a reason there’s so many GUI applications for different VCSs. Command lines aren’t user friendly and are rather difficult to use, let alone teach properly.

It is way beyond the scope of SilverStripe to teach people how to use the command line, with a myriad of shells, emulators and then Windows.
> --
> You received this message because you are subscribed to the Google Groups "SilverStripe Core Development" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to silverstripe-d...@googlegroups.com.
> To post to this group, send email to silverst...@googlegroups.com.
> Visit this group at http://groups.google.com/group/silverstripe-dev.
> For more options, visit https://groups.google.com/d/optout.

ss23

unread,
Mar 9, 2014, 11:25:11 PM3/9/14
to silverst...@googlegroups.com
I'm inclined to agree with this.
It seems silly to claim "We're not disregarding entry level users, we're just forcing them to use the command line and composer".

During the earlier parts of the discussion, there was a question of who the addons site was for.
If we agree it should be for entry level developers, or both kinds of developers, then the solution of composer isn't a good one in general, and we need to take some serious time making sure it can be done without composer and work well for users.
If we agree it should be for developers who are capable of using composer + CLI, then the solution is fine, but we shouldn't delude ourselves into thinking entry level developers are able to do it in general, or want to do it. It is a decision that will have far reaching implications to how new developers perceive SilverStripe.

There is a strong assumption with the idea of forcing composer, which is that beginners will either be capable of, capable of learning, and/or want to learn to use composer. I think in general, it's incorrect.

Lastly, not quite related to addons, but why are we running our own oauth server? Doesn't it make more sense just to let people log in using that? If we're trying to condense the ecosystem, it's a lot more work to have the two kinds of logins than just enforce Github only.
Note, I'm not saying we *should*, but if we are trying to condense, most users have a Github account already. If we're going to say "You must use composer", I think it's less of stretch to also say "You must use Github".

Zauberfisch.at

unread,
Mar 10, 2014, 12:41:22 AM3/10/14
to silverst...@googlegroups.com, silverstripe-dev
while I agree that we should recommend composer to be used, and also agree that composer/git sub modules/Sven externals make live easier, they don't fix the problem you mentioned:

if someone wants to hack the core, he will do it anyway, no matter if he installed it via zip file or composer.
Because to an entry level developer it will still be a way to install not a way to manage dependencies. This person will use composer once and then zip the whole project folder.

To tackle this problem we need to educate people not to hack the core.

Zauberfisch

unread,
Mar 10, 2014, 12:45:59 AM3/10/14
to silverst...@googlegroups.com
accidentally sent before I was finished.

I agree that addons.ss.org should be as easy as possible and offer
"dependency free" (composer) means of requiring a module.
But should recommend the usage of composer and perhaps link to a
composer starter guide.

On 10/03/2014 04:41, Zauberfisch.at wrote:
> while I agree that we should recommend composer to be used, and
> also agree that composer/git sub modules/Sven externals make live
> easier, they don't fix the problem you mentioned:
>
> if someone wants to hack the core, he will do it anyway, no matter
> if he installed it via zip file or composer. Because to an entry
> level developer it will still be a way to install not a way to
> manage dependencies. This person will use composer once and then
> zip the whole project folder.
>
> To tackle this problem we need to educate people not to hack the
> core.
>
> On 09 Mar 2014, at 21:47, Nicolaas Thiemen Francken - Sunny Side
> Up <nfra...@gmail.com <mailto:nfra...@gmail.com>> wrote:
>
>> From time to time I take over websites from other users... Often
>> they lack any type of versioning system. This is a nightmare and
>> anyone who claims to be a web-developer should learn how to use a
>> versioning system. The reason this is a nightmare is that
>>
>> a) it is impossible to tell if any of the core modules (e.g.
>> framework) have been edited. b) it takes several hours to replace
>> a framework version
>>
>> I use SVN to manage my websites. This is far less sophisticated
>> than GIT and composer, but it is SUPER FAST and SIMPLE....
>> Especially with svn:externals. With tortoise SVN, it is pretty
>> simple to use SVN on a windows platform. Maybe this is something
>> we can promote and help people use as a first step towards GIT +
>> composer.
>>
>> I think Simon is right, but helping everyone in the community to
>> step up a little (including myself) is a great goal....
>>
>> Nicolaas
>>
>>
>>
>>
>> On 10 March 2014 09:48, Simon J Welsh <welsh...@gmail.com
>> <mailto:welsh...@gmail.com>> wrote:
>>
>> On 3/02/2014, at 15:43, Cam Findlay <c...@silverstripe.com
>> <mailto:c...@silverstripe.com>> wrote:
>>
>>> * We should take the time on addons.silverstripe.org
>> <http://addons.silverstripe.org> to up-skill the dev about
>> composer use (if the are new or coming from another
>> framework/cms) , over it being a place to download zip files
>> which may have dependancies (but we should still have some basic
>> level of zip functionality).
>>
>> I don't agree with this at all. SilverStripe's targeting
>> entry-level and non-developers too. Having to teach someone how
>> to use a command line just to install a module is a massive UX
>> fail. Command lines aren't friendly and there's so many
>> different versions for Windows (the main group of users that'll
>> need help using composer). Then you also have to teach people how
>> to change to the correct directory, including one with spaces in
>> the path; understand and correct errors; handle passing in *
>> properly and a myriad of other things. --- Simon Welsh Admin of
>> http://simon.geek.nz/
>>
>> -- You received this message because you are subscribed to the
>> Google Groups "SilverStripe Core Development" group. To
>> unsubscribe from this group and stop receiving emails from it,
>> send an email to silverstripe-d...@googlegroups.com
>> <mailto:silverstripe-dev%2Bunsu...@googlegroups.com>. To post
>> to this group, send email to silverst...@googlegroups.com
>> <mailto:silverst...@googlegroups.com>. Visit this group at
>> http://groups.google.com/group/silverstripe-dev. For more
>> options, visit https://groups.google.com/d/optout.
>>
>>
>>
>>
>> -- Nicolaas Thiemen Francken www.sunnysideup.co.nz
>> <http://www.sunnysideup.co.nz> phone: +64221697577
>>
>> -- You received this message because you are subscribed to the
>> Google Groups "SilverStripe Core Development" group. To
>> unsubscribe from this group and stop receiving emails from it,
>> send an email to silverstripe-d...@googlegroups.com
>> <mailto:silverstripe-d...@googlegroups.com>. To post
>> to this group, send email to silverst...@googlegroups.com
>> <mailto:silverst...@googlegroups.com>. Visit this group at
> -- You received this message because you are subscribed to the
> Google Groups "SilverStripe Core Development" group. To unsubscribe
> from this group and stop receiving emails from it, send an email to
> silverstripe-d...@googlegroups.com
> <mailto:silverstripe-d...@googlegroups.com>. To post to
> this group, send email to silverst...@googlegroups.com
> <mailto:silverst...@googlegroups.com>. Visit this group at

xini

unread,
Mar 10, 2014, 5:05:55 PM3/10/14
to silverst...@googlegroups.com
I definitely think that addons should be for all users. I don't think a non-developer will be able to handle ss (at all) but I still think that zip and install manually is still needed for beginners.
I agree composer is great for devs and I agree that for entry level users composer/cli is too much to handle.

And I would love to see that admin module Will mentioned that handles installation of modules and framework updates automatically? We all know it from Wordpress and it's great. That would make ss really user friendly again. Without having to worry about git, composer and cli.

Marcus Dalgren

unread,
Mar 10, 2014, 5:13:47 PM3/10/14
to silverst...@googlegroups.com
Please let's not mix up version control and Composer. Which version control system you use is a completely different issue and shouldn't really (IMHO) be part of this discussion.
You can use Composer with or without GIT and I'm guessing you can use it with SVN since all you have to do is check in your composer.json and ignore a bunch of directories.
Granted you can't use custom forks with SVN but that's really a fair bit outside the scope of what this discussion should be about.

I've googled for Composer PHP + GUI but so far no such luck. There are som IDE integrations and one desktop tool but if you know how to set those up you probably already know how to use Composer anyway.
I've no idea why noone's done a GUI yet. Maybe it's because it's wicked hard or maybe it's because the user base is to cool for GUIs. Doing a basic Composer GUI would be a pretty cool project which could be used as a base for a graphical module manager for SS.
Who's with me?

Hamish Friedlander

unread,
Mar 10, 2014, 5:16:55 PM3/10/14
to silverst...@googlegroups.com
SilverStripe's targeting entry-level and non-developers too. 

Depends on your definition, but I don't agree with this. Entry-level developers definitely, but the general expectation is that you need a developer of some kind to develop a SilverStripe site.

SilverStripe doesn't aim to cover the same sort of ground as Wordpress / Drupal / Joomla where you can drop a few modules together with an existing theme & get a kind-of-working site out of it even as a complete non-developer. That's not to say non-developers aren't considered or important, but they work together in a team with developers.

To lean on the wisdom of others:

> SilverStripe is opinionated software: it is a CMS and Framework optimised for sites where business owners, developers, and designers work together constructively, rather than trying to avoid each other.


Of course he could have changed his mind since then :).

> It seems silly to claim "We're not disregarding entry level users, we're just forcing them to use the command line and composer".
> ...
> There is a strong assumption with the idea of forcing composer, which is that beginners will either be capable of, capable of learning, and/or want to learn to use composer. I think in general, it's incorrect.

We think it's (currently) the best way to manage modules. We want to attract new developers, and there is definitely an issue when picking up a new framework that you can need to learn so many tools that getting started is too intimidating, but at least IMNSHO if you want to become a good SilverStripe developer, you need to learn composer at some point.

So while I don't particularly have any problem with providing zips of modules (as long as that's technically feasible, I haven't looked into what sort of impact this would have on server resources or if we can use some github service), it should be made clear that this is only a stop-gap measure to get you started, and you will have to learn how composer works at some point.

Hamish Friedlander


Naomi Guyer

unread,
Mar 10, 2014, 5:31:25 PM3/10/14
to silverst...@googlegroups.com
Silverstripe is hard to learn. Composer is comparatively easy. 

Composer also helps prevent some dependency bugs, bugs you get from giving a module the wrong name, or from putting it in the wrong place. When I was learning Silverstripe there were a lot of assumptions about setting up projects that downloading a zip file didn't solve. Sure it's easy to hit a download button, but then you are on your own. And because this isn't how more experienced developers will set up projects you will often encounter bugs that they will not have seen.

I think we need to make the resources to learn composer more easily accessible, and perhaps look at a GUI for it at some stage. The command line isn't user friendly, but its worth learning, and most new developers are willing to learn new things. They just need decent resources.


--Naomi



Naomi Guyer | UX Developer
SilverStripe

Phone: +64 4 978 7330
Mobile: 021 145 2604
Skype: adrexia

--
You received this message because you are subscribed to the Google Groups "SilverStripe Core Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to silverstripe-d...@googlegroups.com.
To post to this group, send email to silverst...@googlegroups.com.

Simon J Welsh

unread,
Mar 10, 2014, 6:17:23 PM3/10/14
to silverst...@googlegroups.com
In that case, can we also ditch that horrible ErrorControlChain stuff and only allow flushing from the CLI or in dev mode? I mean, being able to do ?flush on live is only a stop-gap measure and you’ll have to learn how to properly deploy things, including clearing the caches, at some point.

As most people for this change to requiring composer seem to be ignoring from my posts, the problem isn’t composer. The problem is the CLI that you have to learn to be able to use it.
> --
> You received this message because you are subscribed to the Google Groups "SilverStripe Core Development" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to silverstripe-d...@googlegroups.com.
> To post to this group, send email to silverst...@googlegroups.com.

Cam Findlay

unread,
Mar 10, 2014, 7:20:25 PM3/10/14
to silverst...@googlegroups.com
Hey Simon, 

Definitely not ignoring the comments around the learning of CLI, it's a valid point.

Perhaps a cheatsheet here could be useful? Those that know CLI can go on ahead, those that are new can learn enough to get a project installed. I have found with composer anyway, you really only end up using it when you first set the project up, maybe adding new modules and then running a "composer update" from time to time.

I have been running through SilverStripe, composer & CLI use in this way during the training courses. So far it has been very positive. Once the students learn a few simple CLI commands and are taught the concept of why we are doing things the way we are, they seem to be able to put this to practice right away. 
This is some real world practical insight that has been observed so far around the topics in question (granted I am in the room to help guide people and answer questions). 

Attendees for the course are usually coming from another CMS or Framework, we do assume some PHP knowledge and in saying that I have had people that have never touched PHP get through the course, understand composer, run some basic CLI commands (alongside the browser query string based ?flush=1, dev/build etc) and get a basic site up and running. 

For me, good education is key and that is something that I would like us to represent on the addons site in question here and other relevant places in the SilverStripe tutorials (which we can all agree need some work).

I guess what I'd like to be communicated is that, Simon, I understand your position, it is a valid point and we are not completely discounting it. These dialogs are great to help shake out the core issues around things we are thinking about when it comes to moving forward with SilverStripe as an ecosystem.

Stevie Mayhew

unread,
Mar 13, 2014, 3:50:37 PM3/13/14
to silverst...@googlegroups.com
I don't think its been mentioned, but a large number of modules depend on external projects which don't get bundled. The module expect composer to install its requirements when the module is (correctly) installed using composer. Having to bundle each of these requirements in a special zip just for SS addons seems like a lot of work for not much gain. I'm using composer anyway, right? 

However, I do like the ideas which Cam put forward above for improving addons and more proving more teaching resources about why and how we use composer, and why everybody else should too. Its also good to hear from the team about the expectations of the ecosystem that SS is trying to build :)

Szabesz

unread,
Mar 14, 2014, 3:02:47 AM3/14/14
to silverst...@googlegroups.com
Hi All,

I'm a seasonal php developer, let's say a hobbyist, still considering myself a beginner, although I started to develop my very(!) first website based on SilverStripe v2.4.x two years ago. I had to implement the custom "business logic" needed to support the members of our karate club (examination, contests, special events with application possibilities,  etc…).

With two books on SilverStripe, I could jump start development and what I still really like is the fact that I can gradually learn more and more, thanks to the forum and some bloggers.

To start development, I did not have to know too much about MySQL. Thanks to the ORM, PhpMyAdmin is still more than enough for me. Also, thanks to the framework and the books, I can even handle security issues.

Moving on to v3…. It would be nice to have a Composer GUI, preferably built right into the CMS, so that anyone with a basic very understanding of Composer could install modules as well.

I really do not understand why SilverStripe should not be as popular as Wordpress? If users could install modules and themes with fews click only, that would make a difference…

This discussion reminds me of the olden days of DOS vs Windows. CLI vs GUI?
Who wants a CLI only OS these days?

regards,
Szabesz

Cam Findlay

unread,
Jun 15, 2014, 6:41:17 PM6/15/14
to silverst...@googlegroups.com
Last week we send out a blog post about the work going on to overhaul the silverstripe.org website, some of this work in due course will feed into the work that was discussed for addons. So basically just an update to say that the valuable feedback here about addons is on our backlog and will get some love in time. 

If you are keen to see where the main community site is going check out http://www.silverstripe.org/upgrades-to-the-silverstripe-community-website/

Once we get to addons, and given the codebase is open source perhaps we can even set up some issues/features that anyone in the community could contribute to?


Thanks,

Cam

Marijn Kampf

unread,
Jun 16, 2014, 2:10:20 AM6/16/14
to silverst...@googlegroups.com
Hi Cam,

The new silverstripe.org website looks exciting! Can the developers please make sure that if any urls change, the old ones are re-directed to the corresponding new one? In the past this hasn't been done and there are few things more frustrating than thinking you've found a link to the page that solves your queries only to find it is no longer there!

Looking forward to the new website.

Marijn

--

Benjamin Smith

unread,
Sep 28, 2014, 12:55:29 PM9/28/14
to silverst...@googlegroups.com
Cam, any word on next steps for the addons site? I think there are a lot of possibilities to improve (already mentioned) and I'm sure there are many who'd like to contribute, including myself. Do we have a roadmap? Should folks just work on PRs?

To add to the noise on the issue, ExpressionEngine has nice addon feature discovery via Devot:ee (http://devot-ee.com/). I'm not a fan of the platform, nor the UI of the site, but allowing favoriting modules and voting allows a dev to separate noise from a quality, popular, battle tested module.

Cam Findlay

unread,
Oct 1, 2014, 7:20:27 PM10/1/14
to silverst...@googlegroups.com
Hey Benjamin,

I have a research doc from earlier this year which included a heap of community consultation (I'll look to see if I can put a version of this publicly available sometime soon). 

Basically it relies on a few dependancies, of which the new silverstripe.org website was one (which is now launched!). I'll also work out a good way to put up the planned roadmap somewhere public one ready and yes, would be great if anyone wants to contribute to the work. We'll have to ensure there is good communication around people working on tasks etc.

Will update once more stars are in alignment :)

Cam

Cam Findlay

unread,
Feb 19, 2015, 7:54:39 PM2/19/15
to silverst...@googlegroups.com
Resurrecting this thread - here is the document I put together about this time last year about addons.


Keep in mind this was pre- silverstripe.org overhaul too so some things may no longer be as relevant. Should still give a rough idea of the thinking based on lots of community feedback.

Cheers,

Cam

Benjamin Smith

unread,
Feb 20, 2015, 9:22:20 AM2/20/15
to silverst...@googlegroups.com
Excellent, thanks for posting Cam. There is certainly a lot of discussion points and feedback there to think about. What are next steps? Is there a roadmap for turning these discussion points into action? 

Cam Findlay

unread,
Feb 22, 2015, 6:14:44 PM2/22/15
to silverst...@googlegroups.com
I think the next step would actually be taking the recommendations and building out a series of user stories (perhaps is github issues on the projects repo). Might be a job for a hackfest? :)

Jedateach

unread,
Mar 11, 2015, 11:07:28 PM3/11/15
to silverst...@googlegroups.com
I think add-on quality could be automated using external tools. They are often free for open source projects, and have done a lot of the difficult work of automatically figuring out issues with code.
We could define criteria / templates for one or some of the various systems out there, lowering the barrier to entry as much as possible. Maybe a pull request / issue gets created whenever a new module goes up without connection to such services. 

Here are a few such services:

https://insight.sensiolabs.com/
https://travis-ci.org/
https://coveralls.io/

I think such an effort will help reduce technical debt for all SilverStripe stakeholders.
Reply all
Reply to author
Forward
0 new messages