Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix JSON syntax #2

Merged
merged 2 commits into from Oct 24, 2014
Merged

Conversation

ivankravets
Copy link
Contributor

No description provided.

@@ -5,15 +5,14 @@
"keywords": "serial",
"description": "Control thousands of WS2811/2812 LEDs at video refresh speeds",
"url": "http://www.pjrc.com/teensy/td_libs_OctoWS2811.html",
"downloadUrl": "http://www.pjrc.com/teensy/arduino_libraries/OctoWS2811.zip",

Choose a reason for hiding this comment

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

Why did you remove the downloadUrl?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I removed it, because there is defined "repository" with source code history. Do you need this field?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've just restored it. Sorry.

PaulStoffregen added a commit that referenced this pull request Oct 24, 2014
@PaulStoffregen PaulStoffregen merged commit a4c8dea into PaulStoffregen:master Oct 24, 2014
@PaulStoffregen
Copy link
Owner

I still have mixed feelings about this metadata format, but at least it's a start.

My hope is to someday make a library management tool within the Arduino IDE. Actually, I'm really hoping someone else will do this and I can simply use it. Many people have tried to do such tools in the past, but all have abandoned their effort or never really got started (even Arduino has wanted to do this for years, but never made significant progress).

For every library I publish, there's a stable download URL, and the work-in-progress GitHub address. It would be nice if both were in the metadata. How some future library manager will actually use those links, I do not know. I'm not very good at predicting the future!

Another feature missing is a clear way to specify one or more pages that are the documentation for the library. The description also appears to be limited to only a short description (often an image communicates a visual idea of a library's purpose much easier than reading text). There's also no way to specify well defined categories. In some sort of library manager tool, where many hundreds of libraries are shown to users, all of that type of descriptive metadata will be needed.

But at least this format is a good start with basic info. I'd rather start something imperfect and improve as needed, instead of waiting and never making any forward progress due to indecision.

@ivankravets
Copy link
Contributor Author

My hope is to someday make a library management tool within the Arduino IDE. Actually, I'm really hoping someone else will do this and I can simply use it.

This is quite easy to do it with PlatformIO Regisrty. The API is open for all. If I had practice with Java + GUI Framework I could help Arduino community with nice GUI tool. As for API:

  1. Search for libs:
    http://api.platformio.ikravets.com/lib/search?query=%QUERY_HERE%
    The %QUERY_HERE% can contain not only "words", but also special filters, like:
    keyword:, author:, framework: or platform:. For example, [http://api.platformio.ikravets.com/lib/search?query=platform:teensy audio](http://api.platformio.ikravets.com/lib/search?query=platform:teensy audio)
  2. Get library information:
    http://api.platformio.ikravets.com/lib/info/%LIB_ID%
    For example, Teensy Audio http://api.platformio.ikravets.com/lib/info/70
  3. Get cleaned library sources by different versions (based on downloadUrl and repository)
    http://api.platformio.ikravets.com/lib/download/%LIB_ID%?version=%VERSION_NUMBER%
    The version argument is optional. For example,
    http://api.platformio.ikravets.com/lib/download/70
  4. Get library latest version (good for update)
    http://api.platformio.ikravets.com/lib/version/%LIB_IDs_BY_COMMA%
    For example, http://api.platformio.ikravets.com/lib/version/70,1

For every library I publish, there's a stable download URL, and the work-in-progress GitHub address. It would be nice if both were in the metadata.

I agree with you. Thanks.

Another feature missing is a clear way to specify one or more pages that are the documentation for the library.

What do you think about docsUrl field? It can be String, for one URL, or Array with the multiple URLs

The description also appears to be limited to only a short description (often an image communicates a visual idea of a library's purpose much easier than reading text).

Are you sure that manifest file should contain more detailed information about library? I think this information should be located in special file/files, documentation or etc., like README file. Then we can define the URL to this README file in docsUrl field.

There's also no way to specify well defined categories.

This is good idea. I like Python's package classifiers https://pypi.python.org/pypi?%3Aaction=list_classifiers
I'm not sure that we should spend time for it now. To my mind, the keywords field is enough at this point. People are not interested in it :( Or, maybe, they don't know about it :)

I'd rather start something imperfect and improve as needed, instead of waiting and never making any forward progress due to indecision.

I'm totally agree with you. As you can see, I accepted all propositions from you and implemented their, because you were right with "trademarks". I didn't see it early, but Arduino really doesn't allow to use theirs name ... http://arduino.cc/en/Trademark/HomePage?from=Main.Trademark

  • The auction/website title can't use the Arduino name
  • The product can't contain the name Arduino
  • ... 👿

@PaulStoffregen
Copy link
Owner

Maybe we should find a better place to discuss these issues, where other people can join in, and where the conversation can be found by anyone interested? On this old github issue, it's only going to be lost.

I really do not know the best way to organize metadata. At this point, the idea to make a really great library manager is still only a distant dream. I have not done any real work, so I do not know the issues well at this time. But someday I want to make such a thing... unless someone else does it first.

@ColinHarrington
Copy link

Maybe we should find a better place to discuss these issues, where other people can join in, and where the conversation can be found by anyone interested? On this old github issue, it's only going to be lost.

👍

@ivankravets
Copy link
Contributor Author

I've just moved our discussion with a few changes to Arduino Developers group https://groups.google.com/a/arduino.cc/forum/#!topic/developers/xCDjekcQW4k

Let's discuss it with others developers 👍

@PaulStoffregen
Copy link
Owner

For now, I'm going to watch only. The mail list can be very painful and often a huge waste of time.

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

Successfully merging this pull request may close these issues.

None yet

3 participants