Submitting and retrieving materials from the SSC Archive

C F Baum, baum@bc.edu revision of 2 May 2022

The Statistical Software Components (SSC) Archive, often termed the "Boston College" archive, is a RePEc repository containing user-written software for statistical analysis in a number of computer languages. The predominant language of SSC materials is Stata, and the archive contains Stata materials dating back to 1996. RePEc access to these materials is provided by IDEAS and EconPapers.

Access to the Stata materials in the SSC archive is provided by Stata's ssc command, which allows a Stata user with an Internet connection to describe and install packages from SSC. Stata's search command searches the SSC archive, as well as other user-provided archives, and returns links to the appropriate SSC listings.

Submitting your materials to the SSC archive

Any Stata user is welcome to submit materials to the SSC archive. It should be noted that materials in the archive are warranted by their authors; there is no review of packages' functionality required for their inclusion. If difficulties with a package (other than technical access issues) are reported on Statalist, the author will be urged to correct the deficiencies; if the author is not responsive, the package will be removed. Filenames in the SSC archive must be unique, so that if a given ado-file name or package name is currently in use, it may not be reused by a different author. Authors may request that their packages be removed from the archive.

To facilitate the workings of Stata's ssc and adoupdate commands, every ado-file in the SSC Archive must have a Stata version n.n command to indicate the lowest version of Stata on which the routine will run. If version is 10.0 or greater, all help files should be presented as .sthlp rather than .hlp.

All programs should be tested after the command set varabbrev off is given. Programs should work regardless of the user's preference to allow or disable this feature of Stata. Many errors in user-written programs can be traced to the assumption that users will allow varabbrev.

In line with StataCorp convention, user-written command names must be strictly lower case. StataCorp have warned that common English words (using American spelling) should not be used for command names. In November 2004 it became apparent that this warning must be heeded for a number of words now in use in the Stata 8 graphics subsystem. If one of these words is used for a command name, the command will run, but subsequent graphics may fail; if graphics have been used, subsequent use of the command may fail. According to sources at StataCorp, additional words which should not be used for user-written command names include mapping, grid, null, intensity, vertical, horizontal, margin, text, transform, symbol, alignment, axis, cell, code, container, object, scheme, series, spacer, subview, style, and especially color. The list is not comprehensive and is subject to change. To test whether a word (e.g. "foo") is appropriate, type "which foo", "which foo.class" and "ssc type foo.ado". If any of those commands generates a response (other than identifying your own foo.ado), the word is reserved and must not be used for a SSC submission. The archive maintainer does not guarantee that every submission will be checked against this list; authors should take care to avoid these reserved words.

To be included in the archive, Stata materials must be documented with appropriate help files. A complete submission would include the ado-file or files, the help file or files, and any associated materials that the author might want to provide (a sample dataset or do-file). These materials should be placed in a zip or gzip file and emailed to the archive maintainer at the above address. The email should indicate whether the submission contains new or revised materials. In the case of new materials, the author should provide the suggested package name (if it is not obvious), title line, and description of its functionality (the "abstract" that appears in the package listings from the ssc command, or from a web browser listing). Once a new package has been made available (usually one day after the maintainer indicates that the archive has been updated), it is customary to announce its availability to the user community via Statalist. It is not necessary nor desirable to generate a Stata-format package (.pkg) file, since the SSC archive software generates the package file automatically from the RePEc template.

If the materials rely on some other item in the SSC archive, that should be identified: that is, if your "foo.ado" requires that Tom Jones' "bar.ado" from SSC be installed, indicate that in your submission.

Downloading materials from the SSC archive

The SSC archive is accessible and searchable via two modes: using a traditional web browser on any computer to browse the materials, and using Stata's facilities such as the findit and ssc commands. Although the web browser mode allows downloads of the materials, users (in particular, Windows users) are strongly encouraged to avoid relying on web browsers to retrieve materials from the SSC archive.

There are two reasons for this exhortation. First, once materials are downloaded, they must be placed on Stata's ADOPATH to be useful. Although that is not difficult--for instance, Stata's "current directory" is on the ADOPATH--it is much preferable to let Stata place the file in the correct location on your hard disk. If placed in the current directory, for instance, the file will be unusable if you work from a different directory. Likewise, you may end up with multiple copies of the ado-files. Stata will choose the one found first on the ADOPATH, but you may have downloaded a later version of the software, and wonder why it does not seem to be accessed. Many users' problems in working with SSC materials relate to improper placement of these files. Stata's which command is very useful in locating the current location of the ado-files on your hard disk.

Second, Windows users will inevitably have difficulty with Stata packages' .hlp files. Windows considers the extension .hlp its own property, and a binary file. Many virus-checking systems will prevent .hlp files from being downloaded. If it is successfully downloaded, Windows will type the file as binary, possibly causing Stata some difficulty in working with it. None of these issues arise if Stata's ssc command is used to download the files to the proper location.

Although the latter difficulty is limited to Windows users, the former issues imply that users of Stata on any operating system should heed this advice and use Stata's ssc command in lieu of downloads from a web browser.

Downloading SSC Archive modules to an off-line computer

Some users have a Stata-equipped computer which for privacy or security reasons cannot be connected to the Internet. How might you download a package--say, psmatch2--to such a computer?
  1. On an online computer, ssc install psmatch2, replace
  2. Look at 'ssc describe psmatch2' and find all the files that are part of the package
  3. Make a zip file from those files and move it to the offline machine
  4. unzip the file so that the files end up in the same directories (usually /ado/plus/p/ etc.)
This procedure should guarantee that the materials are properly installed on the offline computer.

Listing recently added or modified packages on the SSC Archive

A list of recently added or modified Stata packages in the SSC archive may be generated by http://repec.org/docs/ssc.php, which may also be accessed from within Stata with ssc new.

Understanding SSC archive statistics

Please reference the document http://fmwww.bc.edu/repec/bocode/s/sscstats.html.

Acknowledgement

Thanks to Vince Wiggins of StataCorp LP for clarifying issues related to the graphics subsystem.