season is getting near the end here,
fortunately a friend got me motivated and out into the cold
last weekend. Great time, and I was warmer than expected.
Saturday mid day is looking good for wind and Formula gear.
Sunday longboard. Then a bit into November maybe and that's it.
Still have some vacation this year, was planing Hatteras
right about now but need to stick around for the next month.
Christmas in Cocoa or St.Petes is the revised intention.
I think it is most important what the business is.
I'm working in a custom concurrent design/build manufacturing environment.
We have a legacy of Production Plans in Project desktop.
These are so complex and dynamic that any hope of managing
resource pools effectively quickly fell apart as the constant hunger for
recording actual progress filled up more time than was in a day even
with dedicated full time people. Tasks range from an hour to a two weeks.
Alternate resource options for each task, ever changing task ordering
and parallelism.
I identified early on that any kind of decision making in terms of
scheduling
or reallocation or evaluation of capacity was only as valuable as the near
real time collection of actual progress. With the past failure of the full
time
Project "clerks" to maintain the system. I needed to look for a distributed
means to collect progress. At first glance I didn't think Project Server was
going
to do this for me. The Guides pointed to emailing people in your enterprise
about what was going on, how ya doing. etc. And then there was mention of
approval of hours etc. It presented to me a veil of communication but no
automation.
Once I started hammering away on it I realise how effectively I could
distribute
task sheets and and collect them back and use them to update project. This
one
simple mechanism gave me new hope and I've been trying to fit it in to what
our
plants need.
I've looked at many scheduling packages so far even some abstract simulation
models to handle just the capacity planning part of it in an abstracted
inacurate
but better than nothing sort of way. Almost all the packages are some
offshoot
or module of a full ERP system. These are great but they get a lot of their
power
from the massive amount of well thought out interrelated aspects of the full
package. That often comes down to some automated data collection in the
form of barcoding lots/units. I dismissed this as being yet another layer
that needed
a definition much to constrained for our business. We have a large group of
highly skilled
people with a lot of autonomy, they can easily be accountable within their
field of influence
and add value by along the timeline by increasing the accuracy of estimates
everyday.
The problem is these individuals are not "black box" entities when it comes
to a schedule because
they are constrained, as is the whole company by a set of highly capable but
highly indemand set of
machines. Each operation on these machines is fully custom, There is no
historical reference that set
up takes 2 hours 99% of the time or that production of 500 widgits takes two
shifts. Each widgit is unique.
one of a kind. But the plan is set in motion with some level of
predicability, we have knowledgable individuals
that can make good estimates, but things are very,very time constrained. And
again this is concurrent design/build.
A customer can make changes along the way, it is what needs to be done to
get our product "in motion" as soon
as possible, some times you have to go backwards or recover but that is
expected net result is shorter delivery times
but it would drive highly organized waterfall types crazy. I guess this is
really the manufacturing equivalent of Extreme
Programming.
So that's the background, what was the question? ;-)
How long looking?
About a month real hard now.
Project server for the most part is ASP and Javascript.
As mentioned the actual editing is done with Active X controls
Pj11enuC Class and PjAdoInfo3Class for example.
These may or may not contain .NET Datagrids, looks like it
but can't be sure.
The Windows Sharepoint Services interaction taps into WSS itself
which is fully dynamic, There are no web pages really.
I mentioned above the "hope" I had once I had found a web distributed
mechanism
to update my projects. Well the extensibility of this is as far as I can see
limted.
I think it really comes down to the database design or data object model.
There isn't a database design.
There are no keys, or triggers or constraints or procs that define what the
data means and how
one piece interacts with the other. All that is in the Project application
itself.
This drives me crazy of course and I'm constant looking for something
Project Like that has
a solid database design behind it. Most obvious is when all projects need to
be open for them to interact.
The Project Objects probably aren't built around the most advanced Object
Database concepts either.
If they were then there would be a an option to leave all objects in memory
on the server and make sure
you have a good battery/hydrogen backup power. The each client or web or
whatever could que up and make
transactional changes. This dosen't exist.
But there are all kinds of little things that you see that are big hurdles
when you try and scale this to a fifo
distibuted application. That page 98 reference I pointed out to you is when
the shit hits the fan.
There are ways to learn the data store (<-not base) and manipulate it but
there is not a whole lot
of resources to figure it out. On these groups you do occasionaly see folks
post some SQL that does something.
These folks probably have good insight into the inner workings of Project
itself. Others automate with VBA.
I wa never much of a VBA user. Early experience had me battling slowness
alot. maybe bad code maybe
the wrong tool, not sure but a lot of work that couldn't sstand up to the
real world. Maybe Project is different
haven't tried.
If you made it this far....
about your requirement #1. You mentioned that you needed to edit a task page
so you could have a selection.
After a few minutes looking at NewTaskPage.asp? I would sure try to alter
this and see where it got me...
....some code was here..but wouldn't post....
What was above was basically the textbox where you enter the task name. It
could be
generated from a select box. Saving would be a trial and error thing as
there is a whole lot of
other scripts going on at the same time. Is the submission made via ASP, or
JAVA ? depends on how they get to the object in the form for the post
method.
Might impact validation too once the input object type is changed, but well
worth a try.