Mono Support Architecture questions 

Viewed 52270 time(s), 3 post(s), 5/24/2011 7:07:03 PM - by gonzalom
5/24/2011 7:07:04 PM
345 Reputation 38 Total posts

Hello,

As per my understanding, MonoX provides data access for default scenarios and if I wanted to add custom functionality I should provide my own data access mechanisms. For example, I've seen that MonoX manages Wall Posts, Messages, Friendship requestes, etc (in the case of Social Networking scenarios) but what if I need custom pages / webparts? I need my own DAL in those cases, is that right?

Related with the above question is: What if I need to access "default handled data" from within my custom objects? I guess that's what the API is for. Right?

Thanks,

Gonzalo

1
5/24/2011 9:01:34 PM
7207 Reputation 956 Total posts

That is correct. If you need to use MonoX DAL methods, your first choice would be to look into the MonoSoftware.MonoX.Repositories namespace. All built-in data access methods are packaged into repository classes and placed there - detailed information can be found in the API (CHM) documentation. Most of the return types are based on our preferred ORM tool, LLBLGen. This is the namespace we use frequently during various customization tasks. You can also methods and classes from the MonoSoftware.MonoX.DAL namespace directly - this is the lowest level of data access, operating directly on structures generated by LLBLGen.

Aditionally, there is a MonoSoftware.MonoX.API namespace, featuring a restricted subset of functionality offered by the repository classes, but using lightweight POCO classes and standard LINQ-based query interface. This is a fresh adition to MonoX that will receive more of our attention in the future and is now primarily intended to be used by independent third-party apps.

When you start to modify the database and introduce your own tables/columns/SPs/whatever, the choice of the DAL strategy is totally up to you. You will need your own DAL, but we do not impose any particular technology.

2
5/25/2011 1:21:07 PM
345 Reputation 38 Total posts

Ok. So, summarizing everithing I'd use:

* MonoX API for out of the box functionality.
* My own DAL for custom functionality.

Thanks,

Gonzalo

3
This is a demo site for MonoX. Please visit Mono Software for more info.