AutoHotkey Homepage AutoHotkey Community
Let's help each other out
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

stdLib: call for information
Goto page 1, 2, 3  Next
 
Reply to topic    AutoHotkey Community Forum Index -> General Chat
View previous topic :: View next topic  
Author Message
derRaphael



Joined: 23 Nov 2007
Posts: 841
Location: ~/.

PostPosted: Tue Feb 02, 2010 12:01 am    Post subject: stdLib: call for information Reply with quote

This is the StdLib RFC (request for comments) / RFI (request for information) thread.

- reserved for index -

LastUpdate: 2010-02-02 @ 0100
_________________

    All scripts, unless otherwise noted, are hereby released under CC-BY
Back to top
View user's profile Send private message
derRaphael



Joined: 23 Nov 2007
Posts: 841
Location: ~/.

PostPosted: Tue Feb 02, 2010 12:02 am    Post subject: Reply with quote

Hi all,

i like the idea of having a plce where stdLib compatible files or source can be indexed in one place and therefor found by some kind of stdLib index reader which might be capable of downloading, updating and/or redirecting to its home/discussion threads and much more.

to achieve something like this, an index of standard library compatible files is need to be build. if you like the idea, too or are a developer of stdLib compatible software, just post here in this thread.

it would be a good idea to post the following information:

The mandatory fields are marked bold:
the name of the stdLib script
the name of the author(s)
the version of the stdLib script - if no version info available use the latest update date as identification attribute
link to home/discussion thread
the licence (if none available, it will be assumed to be LGPL compatible)
the source location
contributors (comma seperated)
dependencies (eg other stdLib components)

to ease the process of collection the information, quote the 3rd post of this thread and use it as a template

I will keep track of this thread and update an index section maintained here in the forst post.
_________________

    All scripts, unless otherwise noted, are hereby released under CC-BY


Last edited by derRaphael on Tue Feb 02, 2010 12:25 am; edited 1 time in total
Back to top
View user's profile Send private message
derRaphael



Joined: 23 Nov 2007
Posts: 841
Location: ~/.

PostPosted: Tue Feb 02, 2010 12:07 am    Post subject: Reply with quote

StdLib Source Proposal

StdLib Name
<Enter the name of the StdLib here here>
StdLib Author(s)
<Enter the Author(s), seperate multiple by comma; 1st is project lead>
StdLib Version
<Version of the script, if not available, enter the last update date>
StdLib Licence
<If no information is available, it will be assumed to be LGPL licence>
StdLib Source Location
<http://link.to/thread or http://link.to/source>
StdLib Dependencies
<Enter dependencies of the StdLib, eg name the StdLibs>
StdLib Comments
<If the lib is a RC or beta, here is the proper place for it>
StdLib Contributors
<Name Credits, Contributors, Inspirations whatever here>

[yournamehere Smile]
Back to top
View user's profile Send private message
tinku99



Joined: 03 Aug 2007
Posts: 513
Location: Houston, TX

PostPosted: Tue Feb 02, 2010 1:24 am    Post subject: Packagers and mantainers Reply with quote

Packagers can be different than the maintainers of an ahk library module.
Maybe this information can be added to the wiki which already has a. Catalog of scripts
Back to top
View user's profile Send private message Send e-mail Visit poster's website
derRaphael



Joined: 23 Nov 2007
Posts: 841
Location: ~/.

PostPosted: Tue Feb 02, 2010 7:27 am    Post subject: Reply with quote

the problem with wiki is that people are not restricted to use a defined set of vars such as here in post #3

so any script downloading information from wiki might get interrupted by parsing the available data also most ppl wont register a 2nd/3rd time for a wiki account

it is not about providing script for redistribution, but an index for all available libs so that ppl who often install developer stations, may use this as a help (also for n00bs who might benefit of lists released by prom members)

dR
_________________

    All scripts, unless otherwise noted, are hereby released under CC-BY
Back to top
View user's profile Send private message
majkinetor



Joined: 24 May 2006
Posts: 4511
Location: Belgrade

PostPosted: Tue Feb 02, 2010 8:32 am    Post subject: Reply with quote

I would also consider adding Keywords or Tags field as mandatory.

You didn't mention how the data is distributed. I would prefer it to stay with the source code.
_________________
Back to top
View user's profile Send private message
SoLong&Thx4AllTheFish



Joined: 27 May 2007
Posts: 4999

PostPosted: Tue Feb 02, 2010 8:42 am    Post subject: Reply with quote

See also this thread, where Chris also has some remarks http://www.autohotkey.com/forum/viewtopic.php?p=144847#144847
_________________
AHK Wiki FAQ
TF : Text files & strings lib, TF Forum
Back to top
View user's profile Send private message
derRaphael



Joined: 23 Nov 2007
Posts: 841
Location: ~/.

PostPosted: Tue Feb 02, 2010 9:17 pm    Post subject: Reply with quote

Chris wrote:
Yes, since the stdlib will be distributed with AutoHotkey, including the documentation twice (in both the code and help file) will impact the size of the installer and zip file. And since the documentation for some functions can be fairly long (especially the examples), that could become a significant source of file size as time goes on.

The documentation could be auto-stripped out for the distribution, but that would then defeat some of the benefit to having it in the code in the first place. Also, documentation is highly compressible (perhaps to 10-20% of original size in most cases), which reduces the impact of including it twice.

Finally, I think it's best not to have strict requirements for stdlib contributions (such as format) because that would probably discourage participation.


i dont see a problem with that, since neither a stdLib script nor its documentation is going to be redistributed at all, but only a list from a server is going to be downloaded which contains further informations, so any interested user will start the script, grab the latest stdLib channel news and choose which scripts to download

what i'd love to see in such a construct, is a set of marked (installed) stdLib files, recommended by community members, so that a noob picks a list and gets a set of stdLib files to download based on that recommendation. also AHK distris may include such a recommended set, but this is up to chris.

also a benefit of such an indexing service is that people who tend to develop a stdLib compliant set of functions, see which names are already in use and therefore it wont come to any conflicts on this issue (or at least to less conflicts)

@majkinetor: do you have an idea or a wishlist for tagnames or for categories? i can imagine of

  • strings
  • gui
  • math
  • windows (for com and such)
  • graphic
  • IO
  • memory
  • resources
  • other


majkinetor wrote:
You didn't mention how the data is distributed. I would prefer it to stay with the source code.


at the moment this is open to discussion, i'd prefer a human readable format but i think xml is too bloatet. probly yaml? actually just a tiny subset of yaml. a good primer to yaml can be found here:
http://components.symfony-project.org/yaml/trunk/book/02-YAML

the idea was to have the data to be put out as plain text and still being easy to read and to parse.

so a set of data might look like this:

Code:
%YAML 1.2
---
"Standard Library Files":
  "com.ahk":
    author: Sean
    version: 2010-01-23
    source: http://www.autohotkey.net/~Sean/Lib/COM.zip
    discussion: http://www.autohotkey.com/forum/topic22923.html
    licence: free for noncommercial use
    tags: [windows, IO, resources]
    dependencies: ~
    comments: ~
    contributors: ~
  "tf.ahk"
    author: [HugoV, Heresy]
    version: 3.1
    source:  http://www.autohotkey.net/~hugov/tf.ahk
    discussion: http://www.autohotkey.com/forum/topic46195.html
    licence: LGPL # since i did not find any information about it, i assume its it
    tags: [strings,IO]
    dependencies: ~
    comments: ~
    contrinutors:
      - Heresy
      - "SKAN! (countlines, setwidth, spaces)"
      - "Olegbl (suggestion for find*)"
      - "infogulch (suggestion for tab <-> spaces)"
      - "Murp|e (suggestions for documentation, check if file exists)"
      - "ribbet.1 (New features in TF_LineNumber)"
      - "Tuncay (help with TF() and borrowed ideas for TAIL)"
      - "Guys (and Girls?) at Ask for Help, [maybe forget someone?]"
      - "AHK artwork: Philou"


since not all names for the stdLib contain any meaning information (tf.ahk) it might be a good idea to add a abstract description to it such as
Code:
  "tf.ahk":
    abstract: "Textfile & String Library"


greets
dR
_________________

    All scripts, unless otherwise noted, are hereby released under CC-BY
Back to top
View user's profile Send private message
Tuncay



Joined: 07 Nov 2006
Posts: 1886
Location: Germany

PostPosted: Sun Feb 14, 2010 12:17 pm    Post subject: Reply with quote

I had started in the past a project which was similiar to this in some aspects. There was some problems with the XSLT and so I did not completed the work. If you can remember in German forum, you posted there also. May be this is helpful and related in some way:

_________________
{1:"ahkstdlib", 2:"my libs", 3:"my apps", 4:"my license"}
--> Don't feed the troll! <--
Back to top
View user's profile Send private message Send e-mail Visit poster's website
SoLong&Thx4AllTheFish



Joined: 27 May 2007
Posts: 4999

PostPosted: Mon Feb 22, 2010 10:20 am    Post subject: Reply with quote

Shouldn't it be something like this
Quote:
"Standard Library Files":
name: COM Standard Library
libfile: com.ahk
author: Sean
version: 2010-01-23
source: http://www.autohotkey.net/~Sean/Lib/COM.zip
discussion: http://www.autohotkey.com/forum/topic22923.html
license: free for noncommercial use
tags: [windows, IO, resources]
dependencies: ~
comments: ~
contributors: ~
so you know the filename, name would take care of the description, you could add abstract: for longer descriptions if you want.

I would prefer human readable text over XML, the easier to maintain the better. Not sure where to maintain the info, for zipped libraries like the COM it would mean you would have to unzip it first before you could read the data, if you keep it in a separate file one may forget to update it.
_________________
AHK Wiki FAQ
TF : Text files & strings lib, TF Forum
Back to top
View user's profile Send private message
SoLong&Thx4AllTheFish



Joined: 27 May 2007
Posts: 4999

PostPosted: Mon Feb 22, 2010 11:04 am    Post subject: Reply with quote

Perhaps also include:
- AutoHotkey version (regular, AHKL/U, ironahk + version number)
- Compatibility notes (in case new version of lib isn't backwards compatible so if a user updates a library via this index reader they are warned)
_________________
AHK Wiki FAQ
TF : Text files & strings lib, TF Forum
Back to top
View user's profile Send private message
Tuncay



Joined: 07 Nov 2006
Posts: 1886
Location: Germany

PostPosted: Mon Feb 22, 2010 6:58 pm    Post subject: Reply with quote

This is an answer post to this:
hugov wrote:
Are you going to work with DerRaphael and his StdLib idea http://www.autohotkey.com/forum/viewtopic.php?t=54047 Question I like his ideas of downloading the libraries rather than a zipped package which will be outdated sooner or later (any further discussion there I suggest).

Don't know what license to use (can't be bothered to look into it, also I can't take credit for all functions as I borrowed parts here and there although most have been modified over time).
http://www.autohotkey.com/forum/viewtopic.php?p=333999


No this is an indipendent work. The redistribution is a package of predownloaded libraries. You can see it as a snapshot state. The database of meta information about the libraries is in ini format. The entry 0 defines which keys a section CAN contain. Later an editor will be made, which will be created at loadtime based on this section 0:
Code:
[0]
GUID = regex("\w{8}-\w{4}-\w{4}-\w{4}-\w{12}") ; Generated with http://www.somacon.com/p113.php
Abstract = {string}
Description = {string}
Prefix = regex("\w+")
Function = regex("\w+")
Date = regex("\d+") ; yyyymmdd
Revision = regex("(\d+\.)+")
Author = {csv}
Discussion = {url}
Source = {url}
Documentation = {url}
Sample = {url}
License = {string}
Category = {csv}
Standalone = "yes|no"
StdLibConform = "yes|no"
Dependency = {csv}
Notes = {string}

The first entry for a library looks like this:
Code:
[1]
GUID = 518F6578-1B40-11DF-A9F2-B6E455D89593
Abstract = Basic Ini String Library
Description = Operate on variables instead of files. An easy to use ini parser.`n`nIni files are used mostly as configuration files. In general, they have the “.ini”-extension. It is a simple standardized organization of text data. Many other simple programs use them for storing text.`n`nAutoHotkey provides three commands IniDelete, IniRead and IniWrite. These commands are stable, but they have some disadvantages. First disadvantage is, that they access the file directly. The file on the disk is opened, load into memory and then read or manipulated and then saved with every single command.`n`nWith the custom functions I wrote here, the user accessess on variables instead of files. This is super fast, in comparison to disk access.  Ini files can be created by Ahk just like any other variable. But Ahk itself does not have any function to operate on ini strings (variables). If you read often from ini file, then this might for you.
Prefix = ini
Date = 20100205
Revision = 0.15.1
Author = Tuncay
Discussion = http://www.autohotkey.com/forum/viewtopic.php?t=46226
Source = ini.ahk
Documentation = ini.html
Sample = ini_demo.ahk
License = GNU LGPL
Category = FileSystem, Strings, INI
Standalone = yes
StdLibConform = yes

The distribution comes with a read only Gui of the database. It provides simple install and deinstall and shows the information from the ini. In next days I will upload it. Most problemic part to me is the fact that some people do not specify a license for the library.
_________________
{1:"ahkstdlib", 2:"my libs", 3:"my apps", 4:"my license"}
--> Don't feed the troll! <--
Back to top
View user's profile Send private message Send e-mail Visit poster's website
SoLong&Thx4AllTheFish



Joined: 27 May 2007
Posts: 4999

PostPosted: Mon Feb 22, 2010 8:03 pm    Post subject: Reply with quote

OK I understand what you mean now.

Personally I prefer people to download TF via the forum rather than a zipped file from elsewhere so I have control over what version circulates - it also prevents "I just downloaded the latest version and function X doesn't work" type of messages (say I fix a bug today, and you don't update your collection for a while, people keep on downloading the version with the bug?) [edit: ... package of predownloaded libraries ... -> if one can download individual libraries it prevents the outdated part, it also saves you the trouble of maintaining it, you just maintain the index to it AND it keeps you out of trouble with regards to the various licenses as you only offer a link to download not the file itself]

In general I hope it will be something that can be maintained by the ahk community rather than one individual ahk-er (no offense) because if you decide to start programming in C++ you no longer want to maintain it, even if your scripts are available for everyone to modify. It is of little use if there are multiple versions floating around.

I think it is worth looking into how other languages do it, for example perl with http://en.wikipedia.org/wiki/CPAN lua http://luarocks.org/repositories/rocks/ etc

If each lib author could maintain a small text file on his own site or forumpost? perhaps a browse libraries like luarocks can be developed and hosted on lib.autohotkey.com or lib.autohotkey.net. A lib author submits his lib for inclusion in the index, once accepted it will be updated automatically every 24 hours or so.

Besides the website there is a AHK script to manage, download and install libraries keeping backup copies of older versions in case of compatibility issues etc...

If the website above has a RSS feed of updates you could simply monitor it via your favourite RSS readers or email program and start the stdlib manager if you see something that interests you. The website also maintains a master index of available libs which is downloaded by the stdlib manager.

OK, enough for now Wink
_________________
AHK Wiki FAQ
TF : Text files & strings lib, TF Forum
Back to top
View user's profile Send private message
Tuncay



Joined: 07 Nov 2006
Posts: 1886
Location: Germany

PostPosted: Mon Feb 22, 2010 8:43 pm    Post subject: Reply with quote

If we would manage to do something like you described... That is the optimal state, but dont dream. And yes, I know what you are try to explain with outdated versions and so on. And such an important topic should not made by one person alone.
But some discussion floating around about how and which library should be offered to download, and how the manager should look. These discussions exist not since the stdlib mechanism, they are older ideas. And that is what I mean. Just ideas. No one do it to show how it COULD look like. This what I try todo is a starting point and not the one and only way.

The advantage with an offline zip file is, no internet connection is needed. It could have an "update the repository" function, which downloads all the sources. Currently, there is no standardized meta data any developer provides. How to update the revision number? Some scripts are provided as an inline text only.

The database I collect does contain links to their home and shows the source in the gui and let execute dynamically created examples without to have the library in the stdlib folder.
_________________
{1:"ahkstdlib", 2:"my libs", 3:"my apps", 4:"my license"}
--> Don't feed the troll! <--
Back to top
View user's profile Send private message Send e-mail Visit poster's website
SoLong&Thx4AllTheFish



Joined: 27 May 2007
Posts: 4999

PostPosted: Mon Feb 22, 2010 9:04 pm    Post subject: Reply with quote

I see proof of concept to speed up the process Wink
_________________
AHK Wiki FAQ
TF : Text files & strings lib, TF Forum
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    AutoHotkey Community Forum Index -> General Chat All times are GMT
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum


Powered by phpBB © 2001, 2005 phpBB Group