mpxj 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 9143fba04d064a60d1a8b5ca5c7d2623dbb9a489
4
+ data.tar.gz: 8870dbfd5b4fc48388c7d858f86152ce7b0b79bb
5
+ SHA512:
6
+ metadata.gz: 1bdddfe3517ccede59562583b451e995c08a1d9743949c55ce4af2a40924a44259c40f763a9867a001290171e33f9542adf2c3653782f2163035bc27797f9d5d
7
+ data.tar.gz: 8e47d96055781889d3ccadcf479568a54544d94ad9ba31a4fda2a5303c5849189174ad3a0ca2bcb12620a65399607d6eb0fe8fb7b648ee7cf8f93138d2c1f9de
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
data/.rubocop.yml ADDED
@@ -0,0 +1,292 @@
1
+ AllCops:
2
+ Exclude:
3
+ - db/schema.rb
4
+
5
+ AccessorMethodName:
6
+ Enabled: false
7
+
8
+ ActionFilter:
9
+ Enabled: false
10
+
11
+ Alias:
12
+ Enabled: false
13
+
14
+ ArrayJoin:
15
+ Enabled: false
16
+
17
+ AsciiComments:
18
+ Enabled: false
19
+
20
+ AsciiIdentifiers:
21
+ Enabled: false
22
+
23
+ Attr:
24
+ Enabled: false
25
+
26
+ BlockNesting:
27
+ Enabled: false
28
+
29
+ CaseEquality:
30
+ Enabled: false
31
+
32
+ CharacterLiteral:
33
+ Enabled: false
34
+
35
+ ClassAndModuleChildren:
36
+ Enabled: false
37
+
38
+ ClassLength:
39
+ Enabled: false
40
+
41
+ ClassVars:
42
+ Enabled: false
43
+
44
+ CollectionMethods:
45
+ PreferredMethods:
46
+ find: detect
47
+ reduce: inject
48
+ collect: map
49
+ find_all: select
50
+
51
+ ColonMethodCall:
52
+ Enabled: false
53
+
54
+ CommentAnnotation:
55
+ Enabled: false
56
+
57
+ CyclomaticComplexity:
58
+ Enabled: false
59
+
60
+ Delegate:
61
+ Enabled: false
62
+
63
+ DeprecatedHashMethods:
64
+ Enabled: false
65
+
66
+ Documentation:
67
+ Enabled: false
68
+
69
+ DotPosition:
70
+ EnforcedStyle: trailing
71
+
72
+ DoubleNegation:
73
+ Enabled: false
74
+
75
+ EachWithObject:
76
+ Enabled: false
77
+
78
+ EmptyLiteral:
79
+ Enabled: false
80
+
81
+ Encoding:
82
+ Enabled: false
83
+
84
+ EvenOdd:
85
+ Enabled: false
86
+
87
+ FileName:
88
+ Enabled: false
89
+
90
+ FlipFlop:
91
+ Enabled: false
92
+
93
+ FormatString:
94
+ Enabled: false
95
+
96
+ GlobalVars:
97
+ Enabled: false
98
+
99
+ GuardClause:
100
+ Enabled: false
101
+
102
+ IfUnlessModifier:
103
+ MaxLineLength: 150
104
+ Enabled: false
105
+
106
+ IfWithSemicolon:
107
+ Enabled: false
108
+
109
+ InlineComment:
110
+ Enabled: false
111
+
112
+ Lambda:
113
+ Enabled: false
114
+
115
+ LambdaCall:
116
+ Enabled: false
117
+
118
+ LineEndConcatenation:
119
+ Enabled: false
120
+
121
+ LineLength:
122
+ Max: 150
123
+
124
+ MethodLength:
125
+ Enabled: false
126
+
127
+ ModuleFunction:
128
+ Enabled: false
129
+
130
+ NegatedIf:
131
+ Enabled: false
132
+
133
+ NegatedWhile:
134
+ Enabled: false
135
+
136
+ Next:
137
+ Enabled: false
138
+
139
+ NilComparison:
140
+ Enabled: false
141
+
142
+ Not:
143
+ Enabled: false
144
+
145
+ NumericLiterals:
146
+ Enabled: false
147
+
148
+ OneLineConditional:
149
+ Enabled: false
150
+
151
+ OpMethod:
152
+ Enabled: false
153
+
154
+ ParameterLists:
155
+ Enabled: false
156
+
157
+ PercentLiteralDelimiters:
158
+ Enabled: false
159
+
160
+ PerlBackrefs:
161
+ Enabled: false
162
+
163
+ PredicateName:
164
+ NamePrefixBlacklist:
165
+ - is_
166
+
167
+ Proc:
168
+ Enabled: false
169
+
170
+ RaiseArgs:
171
+ Enabled: false
172
+
173
+ RegexpLiteral:
174
+ Enabled: false
175
+
176
+ SelfAssignment:
177
+ Enabled: false
178
+
179
+ SingleLineBlockParams:
180
+ Enabled: false
181
+
182
+ SingleLineMethods:
183
+ Enabled: false
184
+
185
+ SignalException:
186
+ Enabled: false
187
+
188
+ SpecialGlobalVars:
189
+ Enabled: false
190
+
191
+ StringLiterals:
192
+ Enabled: false
193
+
194
+ HashSyntax:
195
+ Enabled: false
196
+
197
+ VariableInterpolation:
198
+ Enabled: false
199
+
200
+ TrailingComma:
201
+ Enabled: false
202
+
203
+ TrivialAccessors:
204
+ Enabled: false
205
+
206
+ VariableInterpolation:
207
+ Enabled: false
208
+
209
+ WhenThen:
210
+ Enabled: false
211
+
212
+ WhileUntilModifier:
213
+ Enabled: false
214
+ MaxLineLength: 150
215
+
216
+ WordArray:
217
+ Enabled: false
218
+
219
+ # Lint
220
+
221
+ AmbiguousOperator:
222
+ Enabled: false
223
+
224
+ AmbiguousRegexpLiteral:
225
+ Enabled: false
226
+
227
+ AssignmentInCondition:
228
+ Enabled: false
229
+
230
+ ConditionPosition:
231
+ Enabled: false
232
+
233
+ DeprecatedClassMethods:
234
+ Enabled: false
235
+
236
+ ElseLayout:
237
+ Enabled: false
238
+
239
+ SpaceInsideHashLiteralBraces:
240
+ Enabled: false
241
+
242
+ SpaceInsideBrackets:
243
+ Enabled: false
244
+
245
+ SpaceInsideBlockBraces:
246
+ Enabled: false
247
+
248
+ SpaceBeforeBlockBraces:
249
+ Enabled: false
250
+
251
+ SingleSpaceBeforeFirstArg:
252
+ Enabled: false
253
+
254
+ ExtraSpacing:
255
+ Enabled: false
256
+
257
+ SpaceAroundEqualsInParameterDefault:
258
+ Enabled: false
259
+
260
+ AndOr:
261
+ Enabled: false
262
+
263
+ Lint/EndAlignment:
264
+ Enabled: false
265
+
266
+ HandleExceptions:
267
+ Enabled: false
268
+
269
+ InvalidCharacterLiteral:
270
+ Enabled: false
271
+
272
+ LiteralInCondition:
273
+ Enabled: false
274
+
275
+ LiteralInInterpolation:
276
+ Enabled: false
277
+
278
+ Loop:
279
+ Enabled: false
280
+
281
+ ParenthesesAsGroupedExpression:
282
+ Enabled: false
283
+
284
+ RequireParentheses:
285
+ Enabled: false
286
+
287
+ UnderscorePrefixedVariableName:
288
+ Enabled: false
289
+
290
+ Void:
291
+ Enabled: false
292
+
data/.travis.yml ADDED
@@ -0,0 +1,3 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.0.0
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in mpxj.gemspec
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1,792 @@
1
+ # MPXJ
2
+
3
+ This gem allows a Ruby developer to work with a read-only view of project plans saved by a number of popular project planning applications.
4
+ The work required to read data from these files is actually carried out by a [Java library](http://mpxj.sf.net), hence you will need Java installed
5
+ in order to work with this gem. Once the project data has been read from a file, a set of Ruby objects provides access to the
6
+ structure of the project plan and its attributes.
7
+
8
+ ## Installation
9
+
10
+ Add this line to your application's Gemfile:
11
+
12
+ gem 'mpxj'
13
+
14
+ And then execute:
15
+
16
+ $ bundle
17
+
18
+ Or install it yourself as:
19
+
20
+ $ gem install mpxj
21
+
22
+ ## Supported File Types
23
+
24
+ This gem uses the file name extension to determine what kind of project data it is reading. The list below shows the supported file extensions:
25
+
26
+ * **MPP** - Microsoft Project MPP file
27
+ * **MPT** - Microsoft Project template file
28
+ * **MPX** - Microsoft Project MPX file
29
+ * **XML** - Microsoft Project MSPDI (XML) file
30
+ * **MPD** - Microsoft Project database (only when the gem is used on Microsoft Windows)
31
+ * **PLANNER** - Gnome Planner
32
+ * **XER** - Primavera XER file
33
+ * **PMXML** - Primavera PMXML file
34
+ * **PP** - Asta Powerproject file
35
+
36
+ ## Example Code
37
+
38
+ The following is a trivial example showing some basic task and resource details being queried from a project:
39
+
40
+
41
+ project = MPXJ::Reader.read("project1.mpp")
42
+
43
+ puts "There are #{project.all_tasks.size} tasks in this project"
44
+ puts "There are #{project.all_resources.size} resources in this project"
45
+
46
+ puts "The resources are:"
47
+ project.all_resources.each do |resource|
48
+ puts resource.name
49
+ end
50
+
51
+ puts "The tasks are:"
52
+ project.all_tasks.each do |task|
53
+ puts "#{task.name}: starts on #{task.start}, finishes on #{task.finish}, it's duration is #{task.duration}"
54
+ end
55
+
56
+ ## Entities
57
+
58
+ The gem represents the project plan using the following classes, all of which reside in the MPXJ module.
59
+
60
+ * Project
61
+ * Resource
62
+ * Task
63
+ * Assignment
64
+ * Relation
65
+
66
+ A **Project** contains **Resource**s and **Task**s. Each **Resource** can be **Assigned** to one ore more **Task**s.
67
+ **Task**s can have dependencies between them which are represented as **Relation**s.
68
+
69
+
70
+ ## Methods, Attributes and Data Types
71
+
72
+ There are very few explicit methods implemented by the classes noted above. Access to the attributes of each class is provided via a `method_missing` handler which checks to see if the requested method name matches a known attribute name. If it does match, the attribute value is returned, otherwise the normal method missing exception is raised.
73
+
74
+ The methods defined explicitly by these classes are:
75
+
76
+ Project#all_resources
77
+ Project#all_tasks
78
+ Project#child_tasks
79
+ Project#all_assignments
80
+ Project#get_resource_by_unique_id(unique_id)
81
+ Project#get_task_by_unique_id(unique_id)
82
+ Project#get_resource_by_id(id)
83
+ Project#get_task_by_id(id)
84
+
85
+ Resource#parent_project
86
+ Resource#assignments
87
+
88
+ Task#parent_project
89
+ Task#assignments
90
+ Task#predecessors
91
+ Task#successors
92
+ Task#child_tasks
93
+ Task#parent_task
94
+
95
+ Assignment#parent_project
96
+ Assignment#task
97
+ Assignment#resource
98
+
99
+ Each attribute supported by these classes is represented by appropriate data types:
100
+
101
+ * String
102
+ * Duration [https://rubygems.org/gems/duration](https://rubygems.org/gems/duration)
103
+ * Time
104
+ * Integer
105
+ * Float
106
+
107
+ ### Resource Attributes
108
+
109
+ Resource#accrue_at
110
+ Resource#active
111
+ Resource#actual_cost
112
+ Resource#actual_finish
113
+ Resource#actual_overtime_cost
114
+ Resource#actual_overtime_work
115
+ Resource#actual_overtime_work_protected
116
+ Resource#actual_start
117
+ Resource#actual_work
118
+ Resource#actual_work_protected
119
+ Resource#acwp
120
+ Resource#assignment
121
+ Resource#assignment_delay
122
+ Resource#assignment_owner
123
+ Resource#assignment_units
124
+ Resource#availability_data
125
+ Resource#available_from
126
+ Resource#available_to
127
+ Resource#base_calendar
128
+ Resource#baseline1_budget_cost
129
+ Resource#baseline1_budget_work
130
+ Resource#baseline1_cost
131
+ Resource#baseline1_finish
132
+ Resource#baseline1_start
133
+ Resource#baseline1_work
134
+ ...
135
+ Resource#baseline10_budget_cost
136
+ Resource#baseline10_budget_work
137
+ Resource#baseline10_cost
138
+ Resource#baseline10_finish
139
+ Resource#baseline10_start
140
+ Resource#baseline10_work
141
+ Resource#baseline_budget_cost
142
+ Resource#baseline_budget_work
143
+ Resource#baseline_cost
144
+ Resource#baseline_finish
145
+ Resource#baseline_start
146
+ Resource#baseline_work
147
+ Resource#bcwp
148
+ Resource#bcws
149
+ Resource#booking_type
150
+ Resource#budget
151
+ Resource#budget_cost
152
+ Resource#budget_work
153
+ Resource#calendar_guid
154
+ Resource#can_level
155
+ Resource#code
156
+ Resource#confirmed
157
+ Resource#cost
158
+ Resource#cost1
159
+ ...
160
+ Resource#cost10
161
+ Resource#cost_center
162
+ Resource#cost_per_use
163
+ Resource#cost_rate_a
164
+ Resource#cost_rate_b
165
+ Resource#cost_rate_c
166
+ Resource#cost_rate_d
167
+ Resource#cost_rate_e
168
+ Resource#cost_rate_table
169
+ Resource#cost_variance
170
+ Resource#created
171
+ Resource#cv
172
+ Resource#date1
173
+ ...
174
+ Resource#date10
175
+ Resource#default_assignment_owner
176
+ Resource#duration1
177
+ ...
178
+ Resource#duration10
179
+ Resource#duration1_units
180
+ ...
181
+ Resource#duration10_units
182
+ Resource#email_address
183
+ Resource#enterprise
184
+ Resource#enterprise_base_calendar
185
+ Resource#enterprise_checked_out_by
186
+ Resource#enterprise_cost1
187
+ ...
188
+ Resource#enterprise_cost10
189
+ Resource#enterprise_custom_field1
190
+ ...
191
+ Resource#enterprise_custom_field50
192
+ Resource#enterprise_data
193
+ Resource#enterprise_date1
194
+ ...
195
+ Resource#enterprise_date30
196
+ Resource#enterprise_duration1
197
+ ...
198
+ Resource#enterprise_duration10
199
+ Resource#enterprise_duration1_units
200
+ ...
201
+ Resource#enterprise_duration10_units
202
+ Resource#enterprise_flag1
203
+ ...
204
+ Resource#enterprise_flag20
205
+ Resource#enterprise_is_checked_out
206
+ Resource#enterprise_last_modified_date
207
+ Resource#enterprise_multi_value20
208
+ ...
209
+ Resource#enterprise_multi_value29
210
+ Resource#enterprise_name_used
211
+ Resource#enterprise_number1
212
+ ...
213
+ Resource#enterprise_number40
214
+ Resource#enterprise_outline_code1
215
+ ...
216
+ Resource#enterprise_outline_code29
217
+ Resource#enterprise_rbs
218
+ Resource#enterprise_required_values
219
+ Resource#enterprise_team_member
220
+ Resource#enterprise_text1
221
+ ...
222
+ Resource#enterprise_text40
223
+ Resource#enterprise_unique_id
224
+ Resource#error_message
225
+ Resource#finish
226
+ Resource#finish1
227
+ ...
228
+ Resource#finish10
229
+ Resource#flag1
230
+ ...
231
+ Resource#flag20
232
+ Resource#generic
233
+ Resource#group
234
+ Resource#group_by_summary
235
+ Resource#guid
236
+ Resource#hyperlink
237
+ Resource#hyperlink_address
238
+ Resource#hyperlink_data
239
+ Resource#hyperlink_href
240
+ Resource#hyperlink_screen_tip
241
+ Resource#hyperlink_subaddress
242
+ Resource#id
243
+ Resource#import
244
+ Resource#inactive
245
+ Resource#index
246
+ Resource#indicators
247
+ Resource#initials
248
+ Resource#leveling_delay
249
+ Resource#linked_fields
250
+ Resource#material_label
251
+ Resource#max_units
252
+ Resource#name
253
+ Resource#notes
254
+ Resource#number1
255
+ ...
256
+ Resource#number20
257
+ Resource#objects
258
+ Resource#outline_code1
259
+ ...
260
+ Resource#outline_code10
261
+ Resource#outline_code1_index
262
+ ...
263
+ Resource#outline_code10_index
264
+ Resource#overallocated
265
+ Resource#overtime_cost
266
+ Resource#overtime_rate
267
+ Resource#overtime_rate_units
268
+ Resource#overtime_work
269
+ Resource#peak
270
+ Resource#percent_work_complete
271
+ Resource#phonetics
272
+ Resource#project
273
+ Resource#regular_work
274
+ Resource#remaining_cost
275
+ Resource#remaining_overtime_cost
276
+ Resource#remaining_overtime_work
277
+ Resource#remaining_work
278
+ Resource#request_demand
279
+ Resource#response_pending
280
+ Resource#standard_rate
281
+ Resource#standard_rate_units
282
+ Resource#start
283
+ Resource#start1
284
+ ...
285
+ Resource#start10
286
+ Resource#subproject_resource_unique_id
287
+ Resource#summary
288
+ Resource#sv
289
+ Resource#task_outline_number
290
+ Resource#task_summary_name
291
+ Resource#team_assignment_pool
292
+ Resource#teamstatus_pending
293
+ Resource#text1
294
+ ...
295
+ Resource#text30
296
+ Resource#type
297
+ Resource#unavailable
298
+ Resource#unique_id
299
+ Resource#update_needed
300
+ Resource#vac
301
+ Resource#wbs
302
+ Resource#windows_user_account
303
+ Resource#work
304
+ Resource#work_contour
305
+ Resource#work_variance
306
+ Resource#workgroup
307
+
308
+ ### Task Attributes
309
+
310
+ Task#active
311
+ Task#actual_cost
312
+ Task#actual_duration
313
+ Task#actual_duration_units
314
+ Task#actual_finish
315
+ Task#actual_overtime_cost
316
+ Task#actual_overtime_work
317
+ Task#actual_overtime_work_protected
318
+ Task#actual_start
319
+ Task#actual_work
320
+ Task#actual_work_protected
321
+ Task#acwp
322
+ Task#assignment
323
+ Task#assignment_delay
324
+ Task#assignment_owner
325
+ Task#assignment_units
326
+ Task#baseline1_budget_cost
327
+ Task#baseline1_budget_work
328
+ Task#baseline1_cost
329
+ Task#baseline1_deliverable_finish
330
+ Task#baseline1_deliverable_start
331
+ Task#baseline1_duration
332
+ Task#baseline1_duration_estimated
333
+ Task#baseline1_duration_units
334
+ Task#baseline1_estimated_duration
335
+ Task#baseline1_estimated_finish
336
+ Task#baseline1_estimated_start
337
+ Task#baseline1_finish
338
+ Task#baseline1_fixed_cost
339
+ Task#baseline1_fixed_cost_accrual
340
+ Task#baseline1_start
341
+ Task#baseline1_work
342
+ ...
343
+ Task#baseline10_budget_cost
344
+ Task#baseline10_budget_work
345
+ Task#baseline10_cost
346
+ Task#baseline10_deliverable_finish
347
+ Task#baseline10_deliverable_start
348
+ Task#baseline10_duration
349
+ Task#baseline10_duration_estimated
350
+ Task#baseline10_duration_units
351
+ Task#baseline10_estimated_duration
352
+ Task#baseline10_estimated_finish
353
+ Task#baseline10_estimated_start
354
+ Task#baseline10_finish
355
+ Task#baseline10_fixed_cost
356
+ Task#baseline10_fixed_cost_accrual
357
+ Task#baseline10_start
358
+ Task#baseline10_work
359
+ Task#baseline_budget_cost
360
+ Task#baseline_budget_work
361
+ Task#baseline_cost
362
+ Task#baseline_deliverable_finish
363
+ Task#baseline_deliverable_start
364
+ Task#baseline_duration
365
+ Task#baseline_duration_estimated
366
+ Task#baseline_duration_units
367
+ Task#baseline_estimated_duration
368
+ Task#baseline_estimated_finish
369
+ Task#baseline_estimated_start
370
+ Task#baseline_finish
371
+ Task#baseline_fixed_cost
372
+ Task#baseline_fixed_cost_accrual
373
+ Task#baseline_start
374
+ Task#baseline_work
375
+ Task#bcwp
376
+ Task#bcws
377
+ Task#budget_cost
378
+ Task#budget_work
379
+ Task#calendar
380
+ Task#calendar_unique_id
381
+ Task#complete_through
382
+ Task#confirmed
383
+ Task#constraint_date
384
+ Task#constraint_type
385
+ Task#contact
386
+ Task#cost
387
+ Task#cost1
388
+ ...
389
+ Task#cost10
390
+ Task#cost_rate_table
391
+ Task#cost_variance
392
+ Task#cpi
393
+ Task#created
394
+ Task#critical
395
+ Task#cv
396
+ Task#cvpercent
397
+ Task#date1
398
+ ...
399
+ Task#date10
400
+ Task#deadline
401
+ Task#deliverable_finish
402
+ Task#deliverable_guid
403
+ Task#deliverable_name
404
+ Task#deliverable_start
405
+ Task#deliverable_type
406
+ Task#duration
407
+ Task#duration1
408
+ ...
409
+ Task#duration10
410
+ Task#duration1_estimated
411
+ ...
412
+ Task#duration10_estimated
413
+ Task#duration1_units
414
+ ...
415
+ Task#duration10_units
416
+ Task#duration_text
417
+ Task#duration_units
418
+ Task#duration_variance
419
+ Task#eac
420
+ Task#early_finish
421
+ Task#early_start
422
+ Task#earned_value_method
423
+ Task#effort_driven
424
+ Task#enterprise_cost1
425
+ ...
426
+ Task#enterprise_cost10
427
+ Task#enterprise_custom_field1
428
+ ...
429
+ Task#enterprise_custom_field50
430
+ Task#enterprise_data
431
+ Task#enterprise_date1
432
+ ...
433
+ Task#enterprise_date30
434
+ Task#enterprise_duration1
435
+ ...
436
+ Task#enterprise_duration10
437
+ Task#enterprise_duration1_units
438
+ ...
439
+ Task#enterprise_duration10_units
440
+ Task#enterprise_flag1
441
+ ...
442
+ Task#enterprise_flag20
443
+ Task#enterprise_number1
444
+ ...
445
+ Task#enterprise_number40
446
+ Task#enterprise_outline_code1
447
+ ...
448
+ Task#enterprise_outline_code30
449
+ Task#enterprise_project_cost1
450
+ ...
451
+ Task#enterprise_project_cost10
452
+ Task#enterprise_project_date1
453
+ ...
454
+ Task#enterprise_project_date30
455
+ Task#enterprise_project_duration1
456
+ ...
457
+ Task#enterprise_project_duration10
458
+ Task#enterprise_project_flag1
459
+ ...
460
+ Task#enterprise_project_flag20
461
+ Task#enterprise_project_number1
462
+ ...
463
+ Task#enterprise_project_number40
464
+ Task#enterprise_project_outline_code1
465
+ ...
466
+ Task#enterprise_project_outline_code30
467
+ Task#enterprise_project_text1
468
+ ...
469
+ Task#enterprise_project_text40
470
+ Task#enterprise_text1
471
+ ...
472
+ Task#enterprise_text40
473
+ Task#error_message
474
+ Task#estimated
475
+ Task#external_task
476
+ Task#finish
477
+ Task#finish1
478
+ ...
479
+ Task#finish10
480
+ Task#finish_slack
481
+ Task#finish_text
482
+ Task#finish_variance
483
+ Task#fixed_cost
484
+ Task#fixed_cost_accrual
485
+ Task#fixed_duration
486
+ Task#flag1
487
+ ...
488
+ Task#flag20
489
+ Task#free_slack
490
+ Task#group_by_summary
491
+ Task#guid
492
+ Task#hide_bar
493
+ Task#hyperlink
494
+ Task#hyperlink_address
495
+ Task#hyperlink_data
496
+ Task#hyperlink_href
497
+ Task#hyperlink_screen_tip
498
+ Task#hyperlink_subaddress
499
+ Task#id
500
+ Task#ignore_resource_calendar
501
+ Task#ignore_warnings
502
+ Task#index
503
+ Task#indicators
504
+ Task#is_duration_valid
505
+ Task#is_finish_valid
506
+ Task#is_start_valid
507
+ Task#late_finish
508
+ Task#late_start
509
+ Task#level_assignments
510
+ Task#leveling_can_split
511
+ Task#leveling_delay
512
+ Task#leveling_delay_units
513
+ Task#linked_fields
514
+ Task#manual_duration
515
+ Task#manual_duration_units
516
+ Task#marked
517
+ Task#milestone
518
+ Task#name
519
+ Task#notes
520
+ Task#number1
521
+ ...
522
+ Task#number20
523
+ Task#outline_code1
524
+ ...
525
+ Task#outline_code10
526
+ Task#outline_code1_index
527
+ ...
528
+ Task#outline_code10_index
529
+ Task#outline_level
530
+ Task#outline_number
531
+ Task#overallocated
532
+ Task#overtime_cost
533
+ Task#overtime_work
534
+ Task#parent_task
535
+ Task#parent_task_unique_id
536
+ Task#path_driven_successor
537
+ Task#path_driving_predecessor
538
+ Task#path_predecessor
539
+ Task#path_successor
540
+ Task#peak
541
+ Task#percent_complete
542
+ Task#percent_work_complete
543
+ Task#physical_percent_complete
544
+ Task#placeholder
545
+ Task#predecessors
546
+ Task#preleveled_finish
547
+ Task#preleveled_start
548
+ Task#priority
549
+ Task#project
550
+ Task#publish
551
+ Task#recalc_outline_codes
552
+ Task#recurring
553
+ Task#recurring_data
554
+ Task#regular_work
555
+ Task#remaining_cost
556
+ Task#remaining_duration
557
+ Task#remaining_overtime_cost
558
+ Task#remaining_overtime_work
559
+ Task#remaining_work
560
+ Task#request_demand
561
+ Task#resource_enterprise_multi_value_code20
562
+ ...
563
+ Task#resource_enterprise_multi_value_code29
564
+ Task#resource_enterprise_outline_code1
565
+ ...
566
+ Task#resource_enterprise_outline_code29
567
+ Task#resource_enterprise_rbs
568
+ Task#resource_group
569
+ Task#resource_initials
570
+ Task#resource_names
571
+ Task#resource_phonetics
572
+ Task#resource_type
573
+ Task#response_pending
574
+ Task#resume
575
+ Task#resume_no_earlier_than
576
+ Task#rollup
577
+ Task#scheduled_duration
578
+ Task#scheduled_finish
579
+ Task#scheduled_start
580
+ Task#spi
581
+ Task#start
582
+ Task#start1
583
+ ...
584
+ Task#start10
585
+ Task#start_slack
586
+ Task#start_text
587
+ Task#start_variance
588
+ Task#status
589
+ Task#status_indicator
590
+ Task#status_manager
591
+ Task#stop
592
+ Task#subproject_file
593
+ Task#subproject_read_only
594
+ Task#subproject_task_id
595
+ Task#subproject_tasks_uniqueid_offset
596
+ Task#subproject_unique_task_id
597
+ Task#successors
598
+ Task#summary
599
+ Task#summary_progress
600
+ Task#sv
601
+ Task#svpercent
602
+ Task#task_calendar
603
+ Task#task_calendar_guid
604
+ Task#task_mode
605
+ Task#tcpi
606
+ Task#teamstatus_pending
607
+ Task#text1
608
+ ...
609
+ Task#text30
610
+ Task#total_slack
611
+ Task#type
612
+ Task#unavailable
613
+ Task#unique_id
614
+ Task#unique_id_predecessors
615
+ Task#unique_id_successors
616
+ Task#update_needed
617
+ Task#vac
618
+ Task#warning
619
+ Task#wbs
620
+ Task#wbs_predecessors
621
+ Task#wbs_successors
622
+ Task#work
623
+ Task#work_contour
624
+ Task#work_variance
625
+
626
+ ### Assignment Attributes
627
+
628
+ Assignment#actual_cost
629
+ Assignment#actual_finish
630
+ Assignment#actual_overtime_cost
631
+ Assignment#actual_overtime_work
632
+ Assignment#actual_overtime_work_protected
633
+ Assignment#actual_start
634
+ Assignment#actual_work
635
+ Assignment#actual_work_protected
636
+ Assignment#acwp
637
+ Assignment#assignment_delay
638
+ Assignment#assignment_resource_guid
639
+ Assignment#assignment_task_guid
640
+ Assignment#assignment_units
641
+ Assignment#baseline1_budget_cost
642
+ Assignment#baseline1_budget_work
643
+ Assignment#baseline1_cost
644
+ Assignment#baseline1_finish
645
+ Assignment#baseline1_start
646
+ Assignment#baseline1_work
647
+ ...
648
+ Assignment#baseline10_budget_cost
649
+ Assignment#baseline10_budget_work
650
+ Assignment#baseline10_cost
651
+ Assignment#baseline10_finish
652
+ Assignment#baseline10_start
653
+ Assignment#baseline10_work
654
+ Assignment#baseline_budget_cost
655
+ Assignment#baseline_budget_work
656
+ Assignment#baseline_cost
657
+ Assignment#baseline_finish
658
+ Assignment#baseline_start
659
+ Assignment#baseline_work
660
+ Assignment#bcwp
661
+ Assignment#bcws
662
+ Assignment#budget_cost
663
+ Assignment#budget_work
664
+ Assignment#confirmed
665
+ Assignment#cost
666
+ Assignment#cost1
667
+ ...
668
+ Assignment#cost10
669
+ Assignment#cost_rate_table
670
+ Assignment#cost_variance
671
+ Assignment#created
672
+ Assignment#cv
673
+ Assignment#date1
674
+ ...
675
+ Assignment#date10
676
+ Assignment#duration1
677
+ ...
678
+ Assignment#duration10
679
+ Assignment#duration1_units
680
+ ...
681
+ Assignment#duration10_units
682
+ Assignment#enterprise_cost1
683
+ ...
684
+ Assignment#enterprise_cost10
685
+ Assignment#enterprise_custom_field1
686
+ ...
687
+ Assignment#enterprise_custom_field50
688
+ Assignment#enterprise_date1
689
+ ...
690
+ Assignment#enterprise_date30
691
+ Assignment#enterprise_duration1
692
+ ...
693
+ Assignment#enterprise_duration10
694
+ Assignment#enterprise_flag1
695
+ ...
696
+ Assignment#enterprise_flag20
697
+ Assignment#enterprise_number1
698
+ ...
699
+ Assignment#enterprise_number40
700
+ Assignment#enterprise_resource_multi_value20
701
+ ...
702
+ Assignment#enterprise_resource_multi_value29
703
+ Assignment#enterprise_resource_outline_code1
704
+ ...
705
+ Assignment#enterprise_resource_outline_code29
706
+ Assignment#enterprise_resource_rbs
707
+ Assignment#enterprise_team_member
708
+ Assignment#enterprise_text1
709
+ ...
710
+ Assignment#enterprise_text40
711
+ Assignment#finish
712
+ Assignment#finish1
713
+ ...
714
+ Assignment#finish10
715
+ Assignment#finish_variance
716
+ Assignment#fixed_material_assignment
717
+ Assignment#flag1
718
+ ...
719
+ Assignment#flag20
720
+ Assignment#guid
721
+ Assignment#hyperlink
722
+ Assignment#hyperlink_address
723
+ Assignment#hyperlink_data
724
+ Assignment#hyperlink_href
725
+ Assignment#hyperlink_screen_tip
726
+ Assignment#hyperlink_subaddress
727
+ Assignment#index
728
+ Assignment#leveling_delay
729
+ Assignment#leveling_delay_units
730
+ Assignment#linked_fields
731
+ Assignment#notes
732
+ Assignment#number1
733
+ ...
734
+ Assignment#number20
735
+ Assignment#overallocated
736
+ Assignment#overtime_cost
737
+ Assignment#overtime_work
738
+ Assignment#owner
739
+ Assignment#peak
740
+ Assignment#percent_work_complete
741
+ Assignment#project
742
+ Assignment#regular_work
743
+ Assignment#remaining_cost
744
+ Assignment#remaining_overtime_cost
745
+ Assignment#remaining_overtime_work
746
+ Assignment#remaining_work
747
+ Assignment#resource_id
748
+ Assignment#resource_name
749
+ Assignment#resource_request_type
750
+ Assignment#resource_type
751
+ Assignment#resource_unique_id
752
+ Assignment#response_pending
753
+ Assignment#start
754
+ Assignment#start1
755
+ ...
756
+ Assignment#start10
757
+ Assignment#start_variance
758
+ Assignment#summary
759
+ Assignment#sv
760
+ Assignment#task_id
761
+ Assignment#task_name
762
+ Assignment#task_outline_number
763
+ Assignment#task_summary_name
764
+ Assignment#task_unique_id
765
+ Assignment#team_status_pending
766
+ Assignment#text1
767
+ ...
768
+ Assignment#text30
769
+ Assignment#timephased_actual_overtime_work
770
+ Assignment#timephased_actual_work
771
+ Assignment#timephased_baseline1_cost
772
+ ...
773
+ Assignment#timephased_baseline10_cost
774
+ Assignment#timephased_baseline1_work
775
+ ...
776
+ Assignment#timephased_baseline10_work
777
+ Assignment#timephased_work
778
+ Assignment#unavailable
779
+ Assignment#unique_id
780
+ Assignment#update_needed
781
+ Assignment#vac
782
+ Assignment#variable_rate_units
783
+ Assignment#wbs
784
+ Assignment#work
785
+ Assignment#work_contour
786
+ Assignment#work_variance
787
+
788
+ ### Relation Attributes
789
+
790
+ Relation#task_unique_id
791
+ Relation#lag
792
+ Relation#type