|
I've been using jQuery quite a bit lately, and I've enjoyed how easily it makes navigating and manipulating the DOM.
When I think of other areas of my code, I sometimes wistfully wish it was as easily to mainpulate the data there as it is to manipulate the DOM with jQuery. This makes me wonder if I'm missing an abstraction. The DOM is really a tree at the heart of it. So maybe, where it makes sense, I could attempt to model the data in the domains I work in as trees. Then use a domain specific language to manipulate those trees.
|
|
|
|
|
Once one learns to use a hammer and practices with it quit a bit it is easy and fast to use it to join lumber in any number of different ways.
That doesn't mean it is a replacement for a drill.
And it certainly doesn't mean that one should use it when making a cake.
|
|
|
|
|
"Once one learns to use a hammer ... it certainly doesn't mean that one should use it when making a cake."
/ravi
|
|
|
|
|
Hi,
we have a .Net based application (C#, VB) and we want to integrate basic document managment functions for the documents we create in our application.
We need to provide some functions for the users of our appication to manage the documents created within our documentation.
We don't want to have a stand alone DMS, we rather like to integrate a library/framework with basic structure and functions we can use in our code.
Like versioning, Check-In/Out mechanism.
I searched via google for quite a time but I have not found something. Maybe I don't use the best keywords.
I hope anyone knows a library on the market.
Thanks a lot!
Edited: given more Informations and correct typing
modified 17-Sep-12 6:22am.
|
|
|
|
|
Try CVS[^] or SVN[^].
Bastard Programmer from Hell
if you can't read my code, try converting it here[^]
|
|
|
|
|
Thanks for your suggestion.
I think you missunderstood my question, so I edited my question to make it more clear.
We do not need to manage our own source code, we use mercurial for it.
I am searching for a DLL with we include in our c#/vb project. We need to link the managed documents to data in the customerdatabase.
We need to have meta-data /attributes stored with the document and a right managment within, also searching mechanism.
|
|
|
|
|
You're looking for an awfull lot of functionality, I doubt that you can simply add a reference and be done with it.
Your best bet would be to Google for an "open source DMS", and to modify it to suit your requirements.
Bastard Programmer from Hell
if you can't read my code, try converting it here[^]
|
|
|
|
|
Not sure why it needs to be open source and modified, as far as I read the requirements are pretty basic. Versioning and check-in/out appears to be all that's needed.
But I do agree that a DMS is probably the way to go and don't quite understand why the OP has decided a priori that they don't want that. After all, document management is the functionality they need...??
|
|
|
|
|
dojohansen wrote: After all, document management is the functionality they need...??
It sounds like it does, but without a response, we'll never know
Bastard Programmer from Hell
if you can't read my code, try converting it here[^]
|
|
|
|
|
NH71 wrote: We do not need to manage our own source code, we use mercurial for it.
That however doesn't alter the other suggestion of using a source control system. The source control system provides checkin/out of ANY file based product.
|
|
|
|
|
NH71 wrote: We don't want to have a stand alone DMS, we rather like to integrate a
library/framework with basic structure and functions we can use in our code.
Like versioning, Check-In/Out mechanism.
Based on this and your other posts this isn't going to be easy.
So far you have asked for
- Check in /out
- Versioning
- Rights management
- Document attributes, presumably associated with a user.
That would all need to come from somewhere. And it would need to be stored some where.
As per the other request a source control system would handle the first two requirements. But you would need to handle the second two yourself. And I expect that you have other unstated requirements as well.
Overall it suggests that you do in fact want a DMS.
|
|
|
|
|
I still relatively new to most things but in particular very new to design patterns and I'm struggling to pick a good pattern for a particular task.
I've chosen to do the Mandelbrot 'rite of passage' by trying to build a 'pluggable' class structure so that I learn more from this exercise than perhaps I otherwise would.
What I have right now looks like (I think) the strategy pattern with the builder pattern (I think) hidden in the constructors. I.e. I have an Imager class that has two members, both of which are of an Interface type. One interface is for the fractal set (mandelbrot, julia etc.) and provides a pluggable iteration / algorithm. The second is for a colouriser which provides a way to turn the results of the iteration into a colour. The set has a member that is an interface type, it is for the specific F(Zn) calculation in Zn+1 = F(Zn) + c. The colouriser also has one member that is an Interface type, it is for mapping the output of the colouriser to a specific colour. I think that is the strategy pattern? But I'm not certain (a) if it is, (b) if I've implemented it correctly or (c) if there's a better choice.
The Imager constructor can take a new set and a new colouriser, The set xcan take a new function and the colouriser can take a new mapper. I think that's builder?
Any help or guidance on a good choice for the job I described above would be very welcome as indeed would any help deciphering what I've already done!
Happy to provide code etc. as required to make sense of the mangled gibberish above.
Thanks,
Mike
|
|
|
|
|
Looks like your Imager class is general purpose enough and you've used IOC to provide the the smarts. Seems logical to me.
/ravi
|
|
|
|
|
I am beginning a basic shop floor control system for a client who currently consults giving advice on optimizing manufacturing processes. My problem is that he uses very broad and vague terminology in descriinbign requirements to me, and I would like, ideally, to consult some reference models or diagrams or such systems, but Google research is proving quite slow and not to fruitful.
For example, my client uses the term 'machine' for what I have found out could rather be called a 'work center', and has no term for what I have found out should be called a 'work center'. Adding additional tables required for a nice system design but don't feature in his paper design adds more challenge. What do I call the definition of 'the process done by a work center to produce a product (or BOM item)' etc.
|
|
|
|
|
There's no guarantee that the client is using accepted terminology. What you might want to do is to include a definitions section in your documentation that ties the terminology down; we've done this in the past and it's surprising how well it works when the client uses 6 or 7 terms to describe exactly the same thing.
|
|
|
|
|
Pete O'Hanlon wrote: There's no guarantee that the client is using accepted terminology.
Never mind a guarantee; there's hardly even a vague suggestion that he is using accepted terminology. I'm trying to find a nice taxonomy I can use for candidate terms we can agree on and move forward with.
I found Openbravo[^], an open source ERP system, which is very promising. Will look at it tonight.
|
|
|
|
|
I believe Oracle ERP documentation is available online. Try Googling for that.
|
|
|
|
|
Oracle documentation can be found here[^], (EBS, MRP, basically the whole line of their products) and I've been banging my head on the desk for the last 3 days trying to find any documentation even remotely useful.
I'm working on a highly-customised E-Business Suite (so maybe lack of documentation shouldn't come as a surprise), and I need to call some APIs to automate some tasks (No, I don't need help, yet )
All I'm saying is, Oracle documentation is , but it might prove useful for your MRP research terminology
Full-fledged Java/.NET lover, full-fledged PHP hater.
Full-fledged Google/Microsoft lover, full-fledged Apple hater.
Full-fledged Skype lover, full-fledged YM hater.
|
|
|
|
|
I've been a developer for many years. Lately doing a lot of VB6 to VB.Net conversion work. Mostly database driven desktop WinForm apps using SQL. I want to update my design work to current best practices (I'm old school) but there is so much to choose from I'm really confused. I've broken my questions down into fundamental parts for clarity.
1. The use of N-Tier architecture appears best. In my case 3-tier (GUI>DB IF>DB). Do you agree? Other advice?
2. I currently use datasets with filtered databinding. I see Linq, SQL queries and Entity Framework as newer options. Which might be better? Combination? Other advice?
3. Can you point me to good examples of good architecture and coding methods? I'm currently studying Northwind.Net. Other good examples?
I know this is a broad question and answers may be personal choice but any guidance is greatly appreciated.
|
|
|
|
|
dhofferber wrote: I've been a developer for many years. Lately doing a lot of VB6 to VB.Net conversion work. Mostly database driven desktop WinForm apps using SQL. I want to update my design work to current best practices (I'm old school) but there is so much to choose from I'm really confused.
Ditto
dhofferber wrote: 1. The use of N-Tier architecture appears best. In my case 3-tier (GUI>DB IF>DB). Do you agree? Other advice?
I dislike any database-application that has more than three tiers, just to be able to say that they have tiers. The DB is already a layer, it's an abstraction I can build on without regard for the logical structure on disc. The UI is a layer in my book, and the two are simply woven together. No fancy ORM unless there's more than 10 tables. No unused layers, no layers that are merely glue and pass the info blindly to their neighbours. KISS, as simple as possible. You do not want to maintain a layer and have to test that extra code if it does not provide an additional benefit.
dhofferber wrote: 2. I currently use datasets with filtered databinding. I see Linq, SQL queries and Entity Framework as newer options. Which might be better? Combination? Other advice?
Sql92, using the IDbInterfaces, on a virtualized datagridview. I do use Linq, but only for manipulating in-memory collections.
dhofferber wrote:
3. Can you point me to good examples of good architecture and coding methods? I'm currently studying Northwind.Net. Other good examples?
What do you define as an "architecture"? I like the architecture of CSLA.NET, but usually stick to something that can be found on MSDN. Architecture is a broad subject, and the basic models are well known; there's enough examples on client/server, three-layered database-apps and webservices. A valuable addition to the architecture of the current applications was the Managed Extensibility Framework[^].
Northwind has a successor, called AdventureWorks.
Bastard Programmer from Hell
if you can't read my code, try converting it here[^]
|
|
|
|
|
Thanks for the well thought out response. Microsoft is pushing the Entity Framework with DbContext for all new development. They actually say that datasets have reached an end.
Any thoughts? Anyone?
P.S. I'm talking about an Entity Framework example called Northwind.Net
|
|
|
|
|
|
Hi
Maybe checkout Domain Driven Design (DDD) and some O/RM like Entity framework or NHibernate. There are some more lightweight persistence frameworks if these are too much (Dapper for example).
Common to these frameworks is an attempt to consolidate core business logic into a domain model. That way you can concentrate on the interesting code and make it testable. Perhaps some Test Driven Design (TDD)?
//Jonathan
|
|
|
|
|
Thanks Jonathan. My research so far is leading me to Entity Framework - Code First. EF 5 now includes data binding and automatic migrations (db Updates) both of which were needed. Code First seems to be the preferred method and best supported. Linq to Entity or Linq to SQL both look good for the queries.
I have been reading about Test Driven Design and like the concept. Writing code to fail and then fixing it seems a bit odd at first but I understand why it could work.
|
|
|
|
|
All the questions you have asked are hard to answer without business requirements.
My personal opinion is use whatever technology you understand best and is best for the job. The important gotcha with this is you also need to spend time learning new technology all the time (but really? is that not required anyway?).
Also, the biggest suggestion of technology and pattern practice I can give anyone is Inversion of Control or Dependency Injection. It is absolutely amazing what you can do with it and it is really simple to implement. It also promotes decoupling and good design/seperation of classes. Makes the lives of Dev and Test a million times easier hands down.
The best way to accelerate a Macintosh is at 9.8m/sec² - Marcus Dolengo
|
|
|
|