Skip to content
This repository has been archived by the owner on Sep 4, 2018. It is now read-only.

Alcatraz package specification needs significant update #435

Open
OdNairy opened this issue Mar 12, 2016 · 3 comments
Open

Alcatraz package specification needs significant update #435

OdNairy opened this issue Mar 12, 2016 · 3 comments

Comments

@OdNairy
Copy link
Contributor

OdNairy commented Mar 12, 2016

Hi there.
I'm opening this thread to collect all discussions about new versions of package specification.

What we have today

Field Attributes Required Uniqueness
name String
description String
url String
screenshot String

Bunch of threads requesting new features (unavailable on current specification version):#431, #422, #397, #260, #167

@OdNairy
Copy link
Contributor Author

OdNairy commented Mar 12, 2016

Proposion _#_1

Sceme

Field Attributes Required Uniqueness
name String
package_url String
version String
release_date Date
description String
author String
xcode_versions Array of String
dependencies Array Of String
screenshots Array of String
videos Array of String
website String
social Array of String

What exactly we going to add/change and why?

[C] - Changed
[A] - Added

  1. [C] Rename url to package_url to avoid misunderstanding with other url's.
  2. [C] Make description as a required field to provide brief story what this plugin do
  3. [C] Rename screenshot into screenshots to have a way to provide multiple images for different states of plugin, some marketing thumbnails, etc. Git should be supported here.
  4. [A] version field. The plugin version. Should be String to support Semantic Versioning. The latest specification hold last version number only.
  5. [A] xcode_versions field. Xcode private api changes sometimes so basic adding new UUIDs to plugins will can lead us to crash. Instead of this we should provide range of supporting xcode's.
  6. [A] dependencies field. Plugin with dependencies #431. Nowadays there are some plugins depending on PluginPanel plugin but it's not the worst idea to write some plugins as frameworks to collect whole UI in the same location. For example it would be nice to have plugin which one collecting all Plugin Settings in one screen instead of chaos of MenuItems.
  7. [A] videos field. The same as for screenshots but for videos.
  8. [A] website field. Link to plugin brandpage.
  9. [A] social field. Collection of links to twitter/facebook/etc.
  10. [A] author field. Hold the latest author information.
  11. [A] release_date field. Can be populated automatically on new version push.

Issues

  • There are much more work to support correct specification update.
    Suggestion: Use github as only hosting and collect version information by Releases feature

P.S.
@jurre and @supermarin review proposal, please.

@orta
Copy link
Contributor

orta commented Mar 15, 2016

[A] version field. The plugin version. Should be String to support Semantic Versioning. The latest specification hold last version number only.

I'm not sure this one is too relevant, currently Alcatraz auto-updates plugins, and it's likely that the SemVer in the specs would end up out of date pretty quickly

@orta
Copy link
Contributor

orta commented Mar 15, 2016

I guess the same is true for xcode_versions - unless you want to have this information filled in automatically by having an alcatraz daily runner updating all the JSON by cloning each repo and getting the Info.plist

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants