Bug 40996 - App Center Self Service
App Center Self Service
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: App Center
UCS 4.1
Other Linux
: P5 enhancement (vote)
: UCS 4.1-2-errata
Assigned To: Dirk Wiesenthal
Felix Botner
:
Depends on: 40943 41360
Blocks: 41584 41586 42625
  Show dependency treegraph
 
Reported: 2016-04-05 10:35 CEST by Dirk Wiesenthal
Modified: 2023-03-25 06:42 CET (History)
3 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dirk Wiesenthal univentionstaff 2016-04-05 10:35:56 CEST
We should add a UMC module where ISVs may manage their Apps in the App Center. This module should allow the upload of an App to the Test App Center.
Comment 1 Alexander Kramer univentionstaff 2016-04-05 13:39:22 CEST
r 68389

Fix: Modul did not open because of old module name inside AppUploadPage.js

univention-management-console-module-appcenter-selfservice (0.1.0-3) 
* Renamed Carousel into ThumbnailGallery in AppUploadPage.js (Bug #40996)

fyi: needed version bump so package version is 0.1.0-4.2.201604051322
Comment 2 Alexander Kramer univentionstaff 2016-04-07 12:40:05 CEST
r68457
univention-management-console-module-appcenter-selfservice (0.1.0-8) 
* Bug #40996: Added readme section and stylus file

I added an editor widget for the readme file. it seems that it is possible to add a save plugin that sends the data to a specific url.

Next I will check if we can get the data from the upload widget to also update the app in the frontend without unnecessary overhead.
Comment 3 Alexander Kramer univentionstaff 2016-04-07 15:11:07 CEST
r 68463

univention-management-console-module-appcenter-selfservice (0.1.0-10) 
* Bug #40996: Added license agreement upload

FYI ATM I duplicated the code for the license upload. Later I am going to write a widget for the text upload.

I also added editor plugins so your able to switch between the html- and the wysiwyg-view. And the the editor now uses "pretty view" to display the html code.

TODO:
The save button does not send a request to the server.
Comment 4 Alexander Kramer univentionstaff 2016-04-11 09:35:31 CEST
r 68518
* Bug #40996: Added TextUploader Widget

I moved the code for the readme and license agreement (etc.) into an separate widget.

Successful build
Package: univention-management-console-module-appcenter-selfservice
Version: 0.1.0-11.9.201604110933
Branch: ucs_4.1-0
Scope: internal
Comment 5 Alexander Kramer univentionstaff 2016-04-11 14:22:18 CEST
r 68525

univention-management-console-module-appcenter-selfservice (0.1.0-12) 
* Bug #40996: Added ImageUploader Widget

Successful build
Package: univention-management-console-module-appcenter-selfservice
Version: 0.1.0-12.10.201604111419
Branch: ucs_4.1-0
Comment 6 Alexander Kramer univentionstaff 2016-04-12 15:07:04 CEST
Revision 68560 übertragen.
univention-management-console-module-appcenter-selfservice (0.1.0-13) 
* Bug #40996: Added adapted version of ThumbnailGallery

Logos and screenshots are now display inside an adapted version of the ThumbailGallery. One can select images to remove them.
TODO: request to the backend

FYI for kde users: to upload more than one screenshot at once, make sure that your dolphin is configured to open a file with a double click. otherwise the upload starts directly after selecting a file.
Comment 7 Alexander Kramer univentionstaff 2016-04-13 13:05:37 CEST
r 68609
univention-management-console-module-appcenter-selfservice (0.1.0-16) 
* Bug #40996: Added app.ini to display it inside a TextUpload-Widget

Warning: Editing the ini file inside the TextUpload-Widget can cause atm that you'll lose this app.
Comment 8 Alexander Kramer univentionstaff 2016-04-14 13:26:49 CEST
r 68633
univention-management-console-module-appcenter-selfservice (0.1.0-17) 
* Bug #40996: Added control buttons for each app see SecondGallery{Page}

Package: univention-management-console-module-appcenter-selfservice
Version: 0.1.0-17.13.201604141053
Branch: ucs_4.1-0
Scope: internal
Comment 9 Alexander Kramer univentionstaff 2016-04-18 15:35:23 CEST
r 68733
univention-management-console-module-appcenter-selfservice (0.1.0-18) 
* Bug #40996: [WIP] Added update_image method and adapted the image url

Version: 0.1.0-18.14.201604181532
Branch: ucs_4.1-0
Scope: internal
Comment 10 Alexander Kramer univentionstaff 2016-05-02 14:05:03 CEST
r69053
univention-management-console-module-appcenter-selfservice (0.1.0-33) 
* Bug #40996: Show thumbnails on AppUploadPage

It is now possible to upload deb packages
-> FYI getting traceback cause of Dummy(), but works fine with commented line

The uploaded screen shots are now display on AppUploadPage
--> FYI: writing the names in the ini does not work correct right now

Successful build
Package: univention-management-console-module-appcenter-selfservice
Version: 0.1.0-33.28.201605021402
Comment 11 Florian Best univentionstaff 2016-05-18 11:29:00 CEST
Pwned: remove any file you want.

tools.umcpCommand('appcenter-selfservice/delete_package', {'app': 'any_app_id', 'filenames': [{'id': '/etc/shadow'}]})
Comment 12 Alexander Kramer univentionstaff 2016-05-23 08:47:33 CEST
FYI: A list of known issues.

(1) Firefox can not display large images for logos and screen shots properly
----
# File: ImageUploader.js
# Problem: If one uploads a large (widht x height) image (e.g. *.svg) then one will only see the upper left corner of the image inside the ThumbnailGallery.
# Solution: Seems that this is specific for Firefox. In Chrome everything looked nice. Maybe FF can not handle large svg-files? FYI: Did not test IE.


(2) First- & SecondGalleryPage: Site needs to be refreshed to display the tile logo (= app logo).
----
# File: AppUploadPage.js, First- and SecondGalleryPage.js
# Problem: If one uploads a tile logo (app logo) and goes back to the Second- or  FirstPageGallery, the logo is not displayed until one does a site refresh (F5).
--> IMHO the problem is that on the FirstGalleryPage all apps are queried from the backend once, so the app update does not effect the app store on the First- and SecondGalleryPage.
# Solution: the onBack Event (AppUploadPage) could trigger a new query request that will update the grid storage.


(3) Logos and screen shots are not copied to the scaleable directory if one adds a new version of the app.
----
# File: __init__.py
# Problem: ATM missing logic that copies the files with the new component_id to the scaleable directory.
# Solution: As far as I know Eduard will provide a solution.


(4) Add logos, screen shots and youtube videos by url
----
# File: ImageUploader.js and __init__.py
# Problem: It should be possible to also add images and videos by providing an absolute URL.
# Solution: We should add an input field and button. The submit route can be used to send the information to the backend. There we can use the existing logic to add the url to the ini file.


(5) Remove logos, screen shots and videos
----
# File: ImageUploader.js and __init__.py
# Problem: It should be possible to remove images and videos.
# Solution: ATM it is possible to select images/videos with the mouse. All items get the class 'galleryThumbSelected'. So we can use dojo/query to get the domNodes - each domNode provides its image name by its id. This can be send to the backend where we have to remove the ini entry (at least).
Comment 13 Dirk Wiesenthal univentionstaff 2016-06-15 17:35:45 CEST
OK, works for a first version.

To install: 4.1-0 internal repo. Package: univention-management-console-module-appcenter-selfservice

You may want to another dedicated server as your App Center server to test rsync. Use a Debian. sshd, rsync, apache2 should be enough. If you are using Jessie, note that you need to adjust sshd to allow root login via ssh and apache's default site to serve /var/www (not /var/www/html).

On the server that runs the UMC module:
  ssh-keygen
  ssh-copy-id IP_OF_TESTAPPCENTER
  ucr set repository/app_center/server=http://IP_IF_TESTAPPCENTER

You can now use the module: Add a groups/group that is member of "App Providers". Add users/user that are member of that group. They should be able to add new Apps, edit existing ones, etc.

As Administrator you should be allowed to edit all existing Apps. You can also "Import an App" (e.g., App ID: "samba4" or "owncloud82"). You (and only you as Admin!) are allowed to edit the .meta file.

Publishing an App should add all files to the correct place on your Test App Center server. This includes index.json file and Packages files in the deb repositories.

Changing the App (edit ini, upload new logo, overwrite package etc) in the UMC module after publishing it should result in a status change: "published but with changes" until published again.

Also test all the buttons, like "Open App as if it were installed" and "Upload a whole archive".

Are there still show blockers for a production test with fellow Univention employees?
Comment 14 Felix Botner univentionstaff 2016-06-29 17:36:57 CEST
(In reply to Dirk Wiesenthal from comment #13)

> You can now use the module: Add a groups/group that is member of "App
> Providers". Add users/user that are member of that group. They should be
> able to add new Apps, edit existing ones, etc.

OK

> As Administrator you should be allowed to edit all existing Apps. You can
> also "Import an App" (e.g., App ID: "samba4" or "owncloud82"). You (and only
> you as Admin!) are allowed to edit the .meta file.

OK

> Publishing an App should add all files to the correct place on your Test App
> Center server. This includes index.json file and Packages files in the deb
> repositories.

OK
 
> Changing the App (edit ini, upload new logo, overwrite package etc) in the
> UMC module after publishing it should result in a status change: "published
> but with changes" until published again.

OK

> Also test all the buttons, like "Open App as if it were installed" and
> "Upload a whole archive".

OK
 
> Are there still show blockers for a production test with fellow Univention
> employees?

No