-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathREADME
249 lines (167 loc) · 8.06 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
= Comas - The Conference Management System
=== What is it?
COMAS aims at making a complete Conference Management System, flexible
enough to be easily adaptable for most conference needs. The aspects
that Comas directly handles are:
* Receiving, voting, approving papers
* Creating proceedings
* Scheduling talks
* Managing attendance (pre-registration, nametag printing, charging
for participation depending on what talks they are interested in,
managing day-to-day attendance, preparing diplomas...)
* Various administrative tasks
It is best suited for academic conferences (i.e., conferences where
the main intrerest are the presentations, not commercial meetings,
which are also called conferences in some countries).
=== What differentiates it from other similar systems?
* Comas is highly malleable
Most similar systems provide you fairly rigid definitions for a
person or for a proposal. If the system does not provide for a field
you are interested in, you will have to modify the database schema
and the system's source files in order to get them.
Comas allows you to easily add fields (including more complex data
types, i.e. references to other catalogs) both to people and
proposals.
* Comas provides a multiconference setup.
Many systems require you to set up one full instance per
conference. While this is not much of a hurdle for the technically
minded system administrators, many academic settings will require
the administrator to set up conference management systems, one after
another.
With Comas, you just have to set up one Comas instance, and it can
acommodate all the conferences you need. Plus, people that register
to your system once will not have to re-submit their personal data -
They will just have to check whatever conferences they are
interested in.
* Comas aims at following the whole conference workflow
Several systems provide only the needed utility for a subset of the
conference workflow. Comas attempts to cover the process as
integrally as possible. As of now, the current functionality is
provided:
* Attendee registration
The basic information needed from an attendee is their full name
and e-mail address. Additional fields may be specified. Each
attendee will also be asked whether they are interested in general
or conference-specific mailings.
Lists of attendees, filtered by different criteria, can be easily
exported in spreadsheet format for local usage.
* Conference definition
Each conference will be defined with a name, an optional
conference logo/image, a full description (allowing for
RedCloth/Textile-based formatting, which allows this to be the
main conference page or link to an external one), and the
starting/ending dates for the conference itself, the Call for
Papers period, and the attendee registration period.
* Proposal submision
Conferences which have a Call for Papers period will allow the
attendees to send talk proposals. Proposals can include a number
of attachments.
* Nametag printing and attendance tracking
The needed infrastructure is in place for printing nametags on
Zebra EPL2 printers, the most commonly used kind of barcode
printers. The nametag printing format can be defined from the Web
interface.
You can track attendances at each of the conference's sessions,
either by using a barcode reader or just by typing the attendee's
ID on a regular keyboard.
* Certificate definition printing
You can define several certificate formats, which can be used
i.e. for printing attendance/participation certificates, talk
presentation certificates, etc.
More functionality is on the way. Most pressing (and probably the
next step that will be covered) is implementing the academic
committee functionality (deciding on which of the submitted
proposals will be accepted, which will require changes, etc.)
Probably, more than one scheme of academic committee logic will be
implemented, as different conferences handle it in very differing
ways — But this is speculatively only right now.
=== What is Comas' current status?
We are just starting to implement Comas on a production server - and
will probably uncover more than one design flaw in the process. Still,
care will be taken not to break existing instances.
=== Comas' prior incarnation
Comas is in the final stages of a complete reimplementation from
scratch.
If you were familiar with the Perl-based Comas originally developed
for CONSOL by Manuel Rábade and Gunnar Wolf... Well, some of its ideas
still live on. However, the old Comas code was found to be too rigid,
too hard to adequate for other conferences' needs.
The Perl version was actively developed in 2003-2004, and regularly
maintained until 2006. I played a bit with other technologies to base
it on, trying to avoid a complete rewrite, but I found it impossible -
And moved on fully to Ruby on Rails.
I have been developing Comas based on Rails since late 2007, and it is
quite promising by now - there are for sure many rough edges to polish
and still some missing functionality. But it's quickly getting there.
=== Where can I get the code?
Comas is developed over Git. Our main repository is located at GitHub,
from where you can easily clone it:
$ git clone git://github.com/gwolf/comas.git
As soon as I'm happy with its releasability (this means, as soon as I
go over the blockers in the TODO list), I will also put up nice
tarballs. Right now, the One True way to get Comas is cloning from the
Git repository.
=== What can I do to help?
Hack on!
=== Dependencies
Comas uses the following modules or plugins - Most of them are
available as Debian packages (the package name will be indicated next
to the URL):
Ruby 1.8:: http://www.ruby-lang.org/en/
ruby1.8
Rails 2.3.x:: http://www.rubyonrails.org/
rails
Acts as catalog:: http://actsascatalog.rubyforge.org/
Acts as list:: http://github.com/rails/acts_as_list/tree/master
Acts as magic model:: http://magicmodel.rubyforge.org/
Real FK:: http://realfk.rubyforge.org/
Will Paginate:: http://github.com/mislav/will_paginate/wikis
libwill-paginate-ruby
PDF Writer:: http://ruby-pdf.rubyforge.org/
libpdf-writer-ruby
GetText:: http://www.yotabanana.com/hiki/ruby-gettext.html
libgettext-ruby
Redcloth:: http://rubyforge.org/projects/redcloth/
libredcloth-ruby
Spreadsheet:: http://spreadsheet.rubyforge.org/
libspreadsheet-ruby
Ruby-OLE:: http://code.google.com/p/ruby-ole/
libole-ruby
RMagick:: http://rmagick.rubyforge.org/
librmagick-ruby
Barby:: http://toretore.github.com/barby/
libbarby-ruby
Prawn:: http://prawn.majesticseacreature.com/
libprawn-ruby
Gruff:: http://nubyonrails.com/pages/gruff
libgruff-ruby
Note that some of the Debian packages are not part of the currently
stable Debian release (6.0, Squeeze), but can be safely installed from
the unstable repository.
If you _cloned_ the Git repository, the plugins in this list (realfk,
acts_as_list, magicmodel and actsascatalog) are available as Git
submodules. From Comas' top directory, just run:
$ git submodule init
$ git submodule update
=== Authors and copyright
The original Comas was written mainly by Manuel Rábade and Gunnar
Wolf.
The current implementation, with somewhat different goals and mindset,
has been so far written by Gunnar Wolf.
Comas is released under the GPL license, version 3 or higher (at your
option). A copy of the GPLv3 license is included in the 'COPYING'
file in Comas' source directory.
Copyright (c) 2008-2012 Gunnar Wolf <[email protected]>
Comas includes code written by third parties:
class inherit:: Thomas Sawyer (License: Same as Ruby)
Rails date kit:: Stuart Rackham (License: MIT)
Pseudo gettext:: Masao Mutoh (License: Same as Ruby)
== TO-DO
* Academic committee
* Check what to-do items we really have!
* Move the included third-party code out of the tree, make it a clean
dependency
* Tests!
* Provide for a better way for themability (not requiring the user to
modify provided files, as it makes integration with newer versions
painful)