Subsonic and CSLA.NET - subsonic

Can SubSonic be used with CSLA.NET? Has anyone tried this. From my understanding
SubSonic is a DAL
CSLA.NET is a BAL (BLL)
I can't seem to find any information on this.

SubSonic could be used as a DAL. I had a some trouble implementing a DAL at first when I was learning CSLA just because there is little documentation on this subject. I would recommend checking out our templates. We have a complete working Parameterized SQL or Stored Procedure driven DAL. This is all sub templated out so you could easily implement or copy 8 sub templates and change it to use SubSonic and all of your BO's would now be driven by SubSonic in a very small amount of time.
Thanks
-Blake Niemyjski (Author of the CodeSmith CSLA Templates)

It looks as though you will need to kludge around some issues to get CSLA to talk via your own DAL - see http://www.lhotka.net/Article.aspx?area=4&id=2e6468d6-9a02-4f0e-a31c-a7eecc268e1b
There is also a more detailed forum discussion on the subject at http://forums.lhotka.net/forums/thread/3714.aspx

SubSonic is pretty well encapsulated so you can use it with just about anything. You can put the DAL that SubSonic generates in its own separate class library and/or namespace.
No experience with the CSLA.NET side of things.

Related

Using Dapper in MonoTouch

Since I'm a big fan of Dapper and using it for a couple SQL Azure Projects I would like to use on MonoTouch as well against the built-in Mono.Data.SQLite.
I realize that Dapper's speed comes from the dynamic code generation which unfortunately is a big no-no on iOS where everything has to be compiled ahead-of-time by MonoTouch.
First question: Has anyone made any efforts to provide reflection based implementation of the relevant parts of dapper? (I know it will be a LOT slower) If not how hard would it be to implement it (only glanced over the Dapper source).
Second question: I hope I am not sounding naive here but would it be remotely possible to write a little utility that would materialize the dynamically generated IL for your entity POCOs into an IL assembly source file that could be added to your MonoTouch project and thus gets AOTed during build time? Or is this impossible due to joins and QueryMultiple etc?
Note: I realize there is at least one attempt to port Dapper to MonoTouch but glancing over the source I have no idea how's that supposed to fly since all the dynamic method generation stuff is still in there.

Resources for getting started with Lotus Notes and LotusScript

I recently joined a company. I need to work on Lotus Designer software, and command and Lotus Script. I really have no idea of where to start. I have to learn from scratch on my own. Can any of you please help me on the materials I need to start with (since there are billions on internet) and how to proceed. It will be of a great help.
Thank you,
Priya.
The following books will be helpful.
"Lotus Notes and Domino 6 Programming Bible" by Brian Benz and Rocky Oliver.
"Teach yourself LotusScript® for Notes/Domino 4.6" by Bill Kreisle, Rocky Cliver and Rocky Oliver
The first is newer, but isn't exclusively devoted to LotusScript. The fact that it covers topics other than Lotusscript may be helpful to you if you're new to Notes. The second is older and won't cover some of the newer object types. It's still fine for the basics.
Bill Buchan's blog has a list of links to Lotusscript presentations he has given:
http://www.billbuchan.com/presentations/
Many can be downloaded. Some are quite advanced; others are more basic. If you avoid doing the things he references in "Worst Practices", you'll be off to a great start.
If you're interested in object-oriented programmingm, my own article on Object-Oriented Lotusscript is here:
(revised link) http://www.ibm.com/developerworks/lotus/library/ls-object_oriented_LotusScript/
I started with the built-in templates. Get to know how they work first, then open up Designer and look at all the design elements, the views, forms, etc. Read the formulas and LotusScript thoroughly and learn what they are doing. You'll learn good practices at the same time since the templates are thoughtfully designed.
Do the same for the databases you will be supporting at your company.
Understand the difference between an RDBMS and a document database. Notes is the latter and that can be confusing coming from SQL or other relational databases.
If you need any basics on LotusScript, it is closely related to VB script and you might find more examples for VB. once you know the basics, though, I'd stick to the Notes docs for learning about what each function does.
I'd also read the Lotus Notes questions and answers on StackOverflow. Not all apply but look through for interesting ones. There are only about 400 right now.
Check out The Learning Continuum Company. They have a variety of courseware for Notes and Domino, and they always have a couple of free and demo courses in their offerings.

How to go from uml to app in zope (plone)

I have watched this keynote that talk about develop an app based on an UML model, but I can't find any tutorial or docs about it.
Do you know any tutorial or documentation to help me?
thanks
Have a look at ArchGenXML.
ArchGenXML is a code generator. It builds on architecture-centric, model-based and test-driven development. Generates Python code from UML-Models (XMI-Format). It's optimized for the generation of code based on the Archetypes framework.
Documentation about using it with Plone (Zope) can be found here.
As Aussie says, ArchGenXML is the way to go - I use it a lot. But use Paster and Zopeskel too. Create an "egg" skeleton as documented in the link (use the "archetype" template), then create your model (A .zargo file) in the main code directory (ie, the directory containing config.py).
This way ArchgenXML (AGX) will create everything as appropriate for an egg.
UML (Unified Modeling Languge) - is a modeling language.
Is used to specify, visualize, modify, construct and document the artifacts of an object-oriented software intensive system under development.
Refer to here.
[http://en.wikipedia.org/wiki/Unified_Modeling_Language][1]
If you searched using "UML" you'll find a bunch of result that will help you.
As soon as you will understand the concept of UML and know how to create UML diagrams then there's no more problem creating your app based on your model.
Very best,

If you had one wish for SubSonic what would it be?

I know this question seems subjective but it's really pretty simple. As a long term user, and part time contributor to SubSonic I'm interested in what the community thinks would be the single best way to improve it.
So what's your opinion, how would you make SubSonic even better? What one thing would make you more likely to use/recommend/evangelise/stop complaining about it?
As I said I know this is a bit subjective and may get closed but as SO is the main support forum for SubSonic I think this could be a useful way to solicit opinion and/or contributions.
To keep this from turning into a general discussion here's the rules:
No omnibus wishes
No duplicate wishes
Up-vote those you agree with rather than re-posting them
Ability to run in MediumTrust out of the box
In all honesty the biggest thing thats lacking is solid documentation and HowTo's
Its got better but I think it needs a lot more.
Ability to automatically map collections of other objects, like Fluent NHibernate does.
When SubSonic throws an exception that isn't clear, I'd like to be able to use Google or some other mechanism to discover more information about how to keep my development effort moving forward. Right now it's too easy to get into a situation where you have to go spelunking into the SubSonic source code since SubSonic doesn't seem to be very proactive when the user goes off the "happy path".
This critique is hardly specific to SubSonic. Many (most?) software products suffer from this same problem. I have not really had this problem with NHibernate though, which is SubSonic's most clear competitor.
Faster and higher quality releases
Binary types for SimpleRepository (Images)
Left Outer Joins
Support more database-independent code generation...
What I mean by this is that it is truly a real pain if your application wants to talk to different databases (e.g. SQL Server and Oracle) and you want to only have one set of generated DAL objects. I would love it if you had the option of specifying that any SQL code that gets sent to the DB would be as compatible with most engines as possible, since right now if you generated your objects targeting SQL Server then all queries will be of the form:
SELECT [schema].[table_name] FROM ....
Sadly, this does not work in Oracle, so basically you're out of luck there.
Perhaps this isn't a huge concern for most of you, but I'm currently writing a commercial app that touts one of its main features as being able to run on various database engines just by changing its configuration and I chose SubSonic because I thought it could handle the job pretty easily, but I'm honestly having second thoughts now because of all the hoops I may have to jump through just to get this to work correctly under different environments.
Support MS Access ,Postgres and FireBird database :)....

what is subsonic?

I'm lost here, can someone explain to me what subsonic is?
is it a code generator type tool?
"SubSonic is A Super High-fidelity Batman Utility Belt that works up your Data Access (using Linq in 3.0), throws in some much-needed utility functions, and generally speeds along your dev cycle."
Depending on how you use it, it does involve code generation (t4 templates used to create classes that represent your database objects).
This website, Wikipedia, tells me its an ORM (Object-Relational Mapper)
As it's creator Rob Conery says, it's the Swiss Army Knife of ORMS.
Here are some other questions where you can find out about SubSonic:
What ORM is the best when using stored procedures
Best free ORM to use with .Net 3.5
If you haven't go to SubSonic's site and watch some of the tutorials. You find that it is easy to become in under 30 minutes.

Resources