Skip to content

Conversation

@LukasReschke
Copy link
Member

🚧 🚧 🚧

TODO:

  • Have apps.owncloud.com return the trust levels – somehow (cc @karlitschek)
  • Make it look nicer (cc @jancborchardt)
  • Move the "Experimental applications ahead" bar right before the experimental ones
  • Show the experimental applications at the end of the site if
  • Make the "Show experimental applications" button actually working

🚧 🚧 🚧

Heads-up: We don't know when an application is activated (i.e. already installing) whether it is an official one / approved one or complete random stuff. Thus in the "activated" and "not activated" view we only show the official apps where we know it from the shipped flag and everything else has no flag applied.

Current layout:

2015-03-30_15-52-45
2015-03-30_15-54-51
2015-03-30_15-56-41

@LukasReschke
Copy link
Member Author

Interesting. Seems like there is a SimpleXML version on our CI server that behaves differently than mine 😞

:22:09 1) OCSClientTest::testGetCategoriesParseError
10:22:09 simplexml_load_string(): Entity: line 1: parser error : Start tag expected, '<' not found
10:22:09 
10:22:09 /var/jenkins/workspace/pull-request-analyser-ng-simple/label/SLAVE/lib/private/ocsclient.php:114
10:22:09 /var/jenkins/workspace/pull-request-analyser-ng-simple/label/SLAVE/tests/lib/OCSClientTest.php:178
10:22:09 
10:22:09 2) OCSClientTest::testGetApplicationsParseError
10:22:09 simplexml_load_string(): Entity: line 1: parser error : Start tag expected, '<' not found
10:22:09 
10:22:09 /var/jenkins/workspace/pull-request-analyser-ng-simple/label/SLAVE/lib/private/ocsclient.php:178
10:22:09 /var/jenkins/workspace/pull-request-analyser-ng-simple/label/SLAVE/tests/lib/OCSClientTest.php:374
10:22:09 
10:22:09 3) OCSClientTest::testGetApplicationParseError
10:22:09 simplexml_load_string(): Entity: line 1: parser error : Start tag expected, '<' not found
10:22:09 
10:22:09 /var/jenkins/workspace/pull-request-analyser-ng-simple/label/SLAVE/lib/private/ocsclient.php:259
10:22:09 /var/jenkins/workspace/pull-request-analyser-ng-simple/label/SLAVE/tests/lib/OCSClientTest.php:636
10:22:09 
10:22:09 4) OCSClientTest::testGetApplicationDownloadParseError
10:22:09 simplexml_load_string(): Entity: line 1: parser error : Start tag expected, '<' not found
10:22:09 
10:22:09 /var/jenkins/workspace/pull-request-analyser-ng-simple/label/SLAVE/lib/private/ocsclient.php:323
10:22:09 /var/jenkins/workspace/pull-request-analyser-ng-simple/label/SLAVE/tests/lib/OCSClientTest.php:867

… digging …

@DeepDiver1975 DeepDiver1975 added this to the 8.2-next milestone Mar 30, 2015
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of a permanent header, can you insert a <div class="section"> with that info between the last »Approved« and the first »Experimental« app?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Guess what it says in the top post:

Move the "Experimental applications ahead" bar right before the experimental ones

@jospoortvliet
Copy link

@LukasReschke could you use a different wording to describe the experimental apps? I'd like this:
[] show experimental apps
Experimental apps are not checked for security issues and are new or known to be unstable and under heavy development. Installing these can cause data loss or security breaches.

Use the same in the yellow header, saying:
"display of experimental apps enabled"
You might want to include a 'hide experimental apps' button there, as well as a 'dismiss warning' one.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So now we can remove the »Recommended« label, right?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Already is removed in the web interface. That one is in the response that the server returns. It's an unit test. Probably we need to keep it on the server as well for longer or it won't work at all for older versions.

@LukasReschke LukasReschke force-pushed the app-categories-15274 branch from 63b398a to f36bd70 Compare April 2, 2015 10:40
@LukasReschke LukasReschke changed the title WIP: Add different trust levels to AppStore interface Add different trust levels to AppStore interface Apr 2, 2015
@LukasReschke
Copy link
Member Author

@karlitschek @jancborchardt @jospoortvliet Please take a look - should work now - not the best code but I added at least some unit tests for other untested stuff 🙈

Please test properly, in my case it works good. To test this checkout this branch and – this is important – change the $OC_VERSION in version.php to array(8,0,0,1) so that the AppStore will show you the 8.0 apps. If you then switch to a section such as "Tool" you should see some experimental applications.

The yellow banner might require some CSS tweaks - but I'm not a design guy and for me everything looks good as long as it has a color ;-) – I also added the recommendations by @jospoortvliet in the text field as well as the tipsy overlay on the labels.

Also: Please ensure to clean your browser cache before testing this.

Some small remarks that we can't address at the moment:

  1. The "Activated" view will only show tags for the "Official" apps, the thing is we really don't know at this step which state an application has as we are not connected to the appstore and addressing this properly should be done in a refactoring that I wanted to avoid.
  2. Clicking the "Enable experimental apps" button will reload the page and you have to go to the category you were before manually. That is caused by the reason that we don't recognize the current category by the URL and is also there in master. Should be addressed in the future but is out-of-scope for this PR.

And yes, some code of this is quite hacky but I couldn't come up with something better in this short timeframe since I have to do other stuff as well… But we always can improve in the future anyway :-)

@LukasReschke
Copy link
Member Author

Some screenshots:

2015-04-02_12-47-31
2015-04-02_12-47-36
2015-04-02_12-47-41
2015-04-02_12-47-51

@LukasReschke
Copy link
Member Author

I think we can do other improvements such as showing the author/domain/whatever etc. in other PRs – these changes are actually much easier (about 1 line additional PHP and then the usual CSS /HTML thing) but require that somebody (hint hint @jancborchardt hint hint) comes up with a design for those ;-)

@jospoortvliet
Copy link

I'd make the popup text this: "This app is not checked for security issues and is new or known to be unstable. Install on your own risk."

Look-wise I have no comments (I'm sure Jan does). Functionality-wise, I agree that this, once working and safe (not breaking things) should go in before we iterate and improve. As a first step I'm happy with this, even if we don't get to improve things before the 8.1 release.

@jospoortvliet
Copy link

That is a first 👍 provided the popup text is improved but note I didn't (and won't) test.

@LukasReschke
Copy link
Member Author

Adjusted. Thanks @jospoortvliet.

@karlitschek
Copy link
Contributor

Awesome!!! I would add a "It is not recommended to install this app on a production server" to the warning. But beside that really good 👍

@karlitschek
Copy link
Contributor

And I agree that a link to the author page would be nice :-)

Allows administrators to disable or enabled experimental applications as well as show the trust level.
@LukasReschke LukasReschke force-pushed the app-categories-15274 branch from a485bbc to 47f160f Compare April 3, 2015 11:33
@LukasReschke LukasReschke force-pushed the app-categories-15274 branch from 47f160f to 25531ba Compare April 3, 2015 11:36
@LukasReschke
Copy link
Member Author

Rebased. The usernames are now also clickable. I use the profilepage entry for this. However, this means it links for example to http://opendesktop.org/usermanager/search.php?username=arkascha instead of https://apps.owncloud.com/usermanager/search.php?username=arkascha.

@karlitschek Would it be easier to add a hack to core or change this in the appstore code?

@LukasReschke
Copy link
Member Author

@karlitschek Also this means we have to ensure that profilepage will never contain user controllable input, or at least check it begins with http:// or https:// otherwise if somebody inserts a profilepage like javascript:alert(1) this could be potentially bad…

@LukasReschke
Copy link
Member Author

Mhm. Maybe I can use a JS or PHP function to ensure this in the ownCloud code base as well.

@jancborchardt
Copy link
Member

@LukasReschke added some design enhancements to the tags.

I can’t fully test it though since for the pages for market apps I get »no apps for your version«. Why that? (I run ownCloud from git.)

@LukasReschke
Copy link
Member Author

I can’t fully test it though since for the pages for market apps I get »no apps for your version«. Why that?

Changed the $OC_Version to 8.0? i.e. $OC_Version=array(8, 0, 0, 1); in version.php ? :-)

@MorrisJobke
Copy link
Contributor

Code looks good and it works 👍

@PVince81
Copy link
Contributor

PVince81 commented Apr 7, 2015

"Install on your own risk" => "Install at your own risk" http://ell.stackexchange.com/questions/13918/at-your-own-risk-or-on-your-own-risk

@PVince81
Copy link
Contributor

PVince81 commented Apr 7, 2015

@Xenopathic @tomneedham native language checks please ?

I guess this still has time to get translated right ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"to experimental" => "to show" ? Or does it remove the checkbox ?

Does the checkbox change that setting ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested this, this controls the checkbox state.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably be 'Whether to show experimental apps...'

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed 🙈

@PVince81
Copy link
Contributor

PVince81 commented Apr 7, 2015

Tested, works.

Can you add JS unit tests for testing the sort algo ?
There is already test code that renders each app block one by one, will need to be changed to call a mocked loadCategory with possibly a mocked response. Let me know if you need help.

@LukasReschke
Copy link
Member Author

Let me look into that tomorrow. Glad that you didn't find anything other grave 😄

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Too many 'and's in this sentence, you might want to reword it and/or add some commas. Also, 'serious use' => 'production use'

@scrutinizer-notifier
Copy link

A new inspection was created.

@LukasReschke
Copy link
Member Author

Changed the wording and added a JS unit test for sorting as well.

@LukasReschke
Copy link
Member Author

Not now @owncloud-bot …

@ghost
Copy link

ghost commented Apr 8, 2015

Refer to this link for build results (access rights to CI server needed):
https://ci.owncloud.org//job/pull-request-analyser-ng-simple/11333/
🚀 Test PASSed.🚀
chuck

@MorrisJobke
Copy link
Contributor

My 👍 is still valid

@PVince81
Copy link
Contributor

PVince81 commented Apr 9, 2015

👍

LukasReschke added a commit that referenced this pull request Apr 9, 2015
Add different trust levels to AppStore interface
@LukasReschke LukasReschke merged commit ba52f6f into master Apr 9, 2015
@LukasReschke LukasReschke deleted the app-categories-15274 branch April 9, 2015 08:07
@LukasReschke
Copy link
Member Author

Awesome. Thanks for the review @PVince81 @MorrisJobke. And kudos for the nice design to @jancborchardt :-)

@LukasReschke
Copy link
Member Author

@karlitschek Just to clarify some things about apps.owncloud.com, from my understanding:

  1. When the user that created the app is the "owncloud" user it will get marked official?
  2. When I mark an app as approved it will get marked as approved?
  3. When "maximum" required =< the current ownCloud version and "minimum required" >= the current ownCloud version it will get shown in the ownCloud interface ?

Are these assumptions correct?

@karlitschek
Copy link
Contributor

  1. No. Being marked as "official" requires that an admin set´s this flag. I think this is the correct behavior. What do you think?
  2. yes
  3. yes

@LukasReschke
Copy link
Member Author

No. Being marked as "official" requires that an admin set´s this flag. I think this is the correct behavior. What do you think?

That makes sense. So just to re-verify, if I'm modifying an existing app as admin:

  • Approval
    • Approved: will get marked as approved
    • Not approved: Experimental
  • Category
    • Recommended: ??
    • 3rdparty: ??

Guess I will only concentrate on the "Approval" switch then ,-)

@jancborchardt
Copy link
Member

@karlitschek @LukasReschke since the new Official/Approved/Experimental is the new system, we can remove the Recommended/3rdparty, right?

@karlitschek
Copy link
Contributor

@jancborchardt Yes. I would replace it with the new terms

@LukasReschke
Copy link
Member Author

@karlitschek @LukasReschke since the new Official/Approved/Experimental is the new system, we can remove the Recommended/3rdparty, right?

Well the terms are already gone in the current web interface as far I can tell – I referred to the usage on apps.owncloud.com :-)

@MorrisJobke
Copy link
Contributor

No. Being marked as "official" requires that an admin set´s this flag. I think this is the correct behavior. What do you think?

That makes sense. So just to re-verify, if I'm modifying an existing app as admin:

Approval
    Approved: will get marked as approved
    Not approved: Experimental

Can we document this somewhere? Because there will be people that ask for these terms and their meaning.

@jancborchardt
Copy link
Member

Yes – basically there should just be one selection in apps.owncloud.com called »App trust level«. Default to »Experimental« for new apps, and app store reviewers can set it to »Approved«. (And only admins could set apps to »Official«, which would rarely happen though.)

@lock lock bot locked as resolved and limited conversation to collaborators Aug 12, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants