https://github.com/hpi-swa/rack
A hierarchical ordering system for objects in Squeak/Smalltalk with a graphical interface
https://github.com/hpi-swa/rack
objects smalltalk squeak tool
Last synced: 2 months ago
JSON representation
A hierarchical ordering system for objects in Squeak/Smalltalk with a graphical interface
- Host: GitHub
- URL: https://github.com/hpi-swa/rack
- Owner: hpi-swa
- License: mit
- Created: 2018-03-12T04:24:04.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-08-22T08:20:09.000Z (over 1 year ago)
- Last Synced: 2024-12-28T04:46:00.043Z (4 months ago)
- Topics: objects, smalltalk, squeak, tool
- Language: Smalltalk
- Size: 201 KB
- Stars: 8
- Watchers: 8
- Forks: 5
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Rack [](https://travis-ci.org/hpi-swa/Rack) [](https://coveralls.io/github/hpi-swa/Rack?branch=master)
A hierarchical ordering system for objects in Squeak/Smalltalk with a graphical interface## How to install
1. Get [Squeak 5.0 or later](http://www.squeak.org)
2. Load [Metacello](https://github.com/dalehenrich/metacello-work)
3. Finally, load the Rack with the following command:```Smalltalk
Metacello new
baseline: 'Rack';
repository: 'github://hpi-swa/Rack/repository';
load.
```## Getting Started
### User interface
You can access the *Rack* tool through the `Apps` menu in the world main docking bar. When it opens the first time you only see an empty `root`. Right-clicking on it gives you a menu which allows you to create a folder.In order to use drag and drop to add objects to the *Rack* you have to activate the Rack drag and drop setting in `Apps>Preferences`. After activating it you can drag objects from the *object inspector* to any Rack folder.
### Programming Interface
The global rack instance is available as `TheRack`. You can access entries of a folder using the `/` message, regardless of whether they are folders or objects:```Smalltalk
TheRack / 'writings' / 'essays 2017' / 'on racks and boxes'
```In order to add an object to a folder simply use the `add:` and `add:named:` messages:
```Smalltalk
TheRack / 'writings' add: 'First sketch of a new essay without a title'.TheRack / 'writings' add: 'First sketch of a new essay' named: 'essay without a title yet'
```Correspondingly, the messages `remove: entryName` and `rename: entryName to: newEntryName` provide other ways to modify the folders.
## How to cite this work
If you did work based on / or build using the Rack and want to write about the work, you can reference the Rack through the reference at the bottom.````Bibtex
inproceedings{Rein2017LYP,
author = {Rein, Patrick and Lincke, Jens and Ramson, Stefan and Mattis, Toni and Hirschfeld, Robert},
title = {Living in Your Programming Environment: Towards an Environment for Exploratory Adaptations of Productivity Tools},
booktitle = {Proceedings of the 3rd ACM SIGPLAN International Workshop on Programming Experience},
series = {PX/17.2},
year = {2017},
isbn = {978-1-4503-5522-3},
location = {Vancouver, BC, Canada},
pages = {17--27},
numpages = {11},
url = {http://doi.acm.org/10.1145/3167108},
doi = {10.1145/3167108},
acmid = {3167108},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {desktop environment, exploratory programming, live programming, productivity tools, programming environment},
}
````