InDesign Server is a "faceless" blackbox to open and manipulate InDesign documents in automation environments. It can be controlled from your choice of "custom backend systems" such as Java, PHP, .Net - e.g. the user submits data in a web form, the application server behind your CMS triggers InDesign Server, which does a kindof mailmerge (e.g. interpreting XML by script) and delivers the ready PDF.
InDesign plugins extend InDesign and/or InDesign Server with additional functionality, the same way as Adobe does it. Combine a team of experts in C++, others that know the publishing features of InDesign, give a few man years to work thru thousands of classes, patterns and dependencies, and you can develop a custom solution utilizing these technologies.
At a higher level of abstraction there is also scripting, both at the client side (InDesign Desktop) and server. It allows to utilize (rather than extend) the functionality. While the UI side has been a bit limited in comparison to the full access on the document, there are now interesting new possibilites with the "PatchPanel" technology (basically Flash/Flex UI components that access InDesign thru an ActionScript library). You'd still have to code all your management features, e.g. write upload methods and UI that connect to your backend, and force your users thru your bottlenecks. Still some effort, but doable.
Your alternatives are prebuilt solutions that go with the buzzwords "workgroup" or "enterprise" publishing, and matching price tag. See the partners listing of Adobe.com for solution providers, e.g. for newspapers and magazines see Atex, Censhare, DTI, Vjoon, WoodWing among others, also available thru resellers / consultants in the local markets. Some of the traditional big systems also have stripped down solutions for corporate publishing (e.g. you don't need to monitor feeds from 7 image agencies, squeeze 10 editors on single page, produce 50 slightly different local editions). There are also providers that focus on the needs of catalog publishers, technical documentation etc.
this is what i want:
through desktop standard inDesign, i want administrators to be able to create new documents and be able to save them to the document repository on my server. can i submit the document itself to a php script via POST from within inDesign...and then just store the doc as a chunk of XML(or will this be too hard since it has to parse out media and stuff??) in the datastore or whatever. if that's possible it doesn't seem that tough. inDesign server isn't necessary here either right? if i need to automate some stuff on the server i just write my own XML stuff for the docs?
normal users can only edit documents that are in the doc repo that they have permission to edit(assigned by admin). so, when using standard inDesign, can people open documents that are on my server that are served up via a php script?
i want text and images in the documents to be validated against data i have on my server in the database. i want the admins to populate these datasets with forms that are preferably within inDesign. so i can just write any old type of form with actionScript that would allow them to read/write to my database?
one other thing. i want all the images that the users can add to the documents to be on the server. these images will be uploaded to the server by users via an upload form. so can users place images from my server into their documents? and is their a way to do it efficiently?..in that the document will ultimately be saved back to the server along side the image.
Your users/administrators can do everything from InDesign Desktop. You can script your own repository browser UI, scripts can watch for menu actions and substitute them with their own functionality such as export as IDML (zipped XML packages), upload. The support for http operations is very limited though with regular scripting, there are some scripted implementations floating around in the internet that are based on the Socket class built into ExtendScript. On the other side ActionScript/Flex has a richer library as you appear to know, so you might want to implement that part with PatchPanel.
InDesign Server comes into game if you want to off-load functionality such as data merge into templates, the IDML export, PDF rendering and automated document manipulations to the server side, because your users don't want to wait a perceived eternity during every other open or save while all those scripts do their duty. As InDesign Server does not have a Flash runtime, you better from the beginning implement that part with ExtendScript. There are also tasks where it is preferrable that the users have no InDesign Desktop - e.g. just trigger another data merge or PDF generation from wherever they work. If you have users restricted to text operations you should also have a look at InCopy.
Regarding your images - you can again write a browser UI with whatever technology you prefer, and then trigger a script that puts the image file into the "place-gun" cursor of your InDesign desktop. Also have a look at Bridge, which comes with InDesign and is also scriptable. Drag&Drop functionality out of scripted UI is not supported, but I do not know enough ActionScript to be sure in that regard. For comparison, writing an image browser from scratch, for an existing backend will take an experienced plugin developer roughly two months.
As you appear to prefer PHP, I'd suggest you also have a look at WoodWing's enterprise product. They have plenty functionality, also supported by plugins which still allow a better UI integration than scripts.