Moodle.NET - what do you think?

Moodle.NET - what do you think?

by Daniel Denev -
Number of replies: 98
Hello. My name is Danial Denev. I am from Bulgaria. A question that is in my mind is Microsoft technology .NET applied in Moodle version with ussage of C# , ASP.NET and XML ?
Average of ratings: -
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Joseph Rézeau -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
Hello Danial.
You have posted this message on 7 (seven) Moodle forums. You should know that cross-posting is not accepted on these forums.
Joseph
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Martín Langhoff -

Daniel, how about Python, Ruby, Jetty and Erlang, all running on Plan9? And XML is for wimps - use full blown SGML like a man (of the 80s!).

Now that would be a powerful combination.

In reply to Martín Langhoff

Re: Moodle.NET - what do you think?

by Penny Leach -
like a man, eh?


evil
In reply to Penny Leach

Re: Moodle.NET - what do you think?

by David Shields -

Personally, I favour a moodle 2.0 rewrite in INTERCAL. Go rabbits-ears. YMMV however.

WaveyDavey.

In reply to David Shields

Re: Moodle.NET - what do you think?

by Penny Leach -
In reply to David Shields

Re: Moodle.NET - what do you think?

by Martín Langhoff -
We used to have a Befunge programmer at Catalyst. That INTERCAL thing reminds me of his befunge programs. Niiiice.
In reply to Martín Langhoff

Re: Moodle.NET - what do you think?

by Marcus Green -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
These suggestions are absolutly RIDICULOUS, it's quite obvious that Moodle needs re-writing in Java.
In reply to Marcus Green

Re: Moodle.NET - what do you think?

by Martín Langhoff -
TOTALLY! But we are waiting until Sun re-writes Java in Moodle. No-one will take Java seriously until that happens.
In reply to Martín Langhoff

Re: Moodle.NET - what do you think?

by Marcus Green -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Cool (or book if you are texting), see there is no licening issues now Java is GPL, I can offer some code as a starting point...


public static void main(String argv[]){
System.out.println("<h1>mooodle rules </h1>");
}

I can come on over to Martins place again to offer some 1 on 1 tuition in the 1 true language and we should have it all wrapped up by Christmas....


In reply to Marcus Green

Re: Moodle.NET - what do you think?

by farzana latif -
If Moodle gets written in Java, it might be as slow in Blackboard. Or perhaps our version of Blackboard is only slow because it is hosted in another country (as I got told the other day, ha ha).
In reply to farzana latif

Re: Moodle.NET - what do you think?

by Daniel Denev -
The technology does not matter. Java, .NET or PHP. It is important the software architecture and DB design. Moodle is the Martin's project.
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by sam marshall -
Picture of Core developers Picture of Peer reviewers Picture of Plugin developers
If software architecture and DB design were that important, nobody would be using Moodle in the first place. :>

(Sorry, couldn't resist. Seriously, I agree they are more important than the language in use.)

--sam

PS About Java performance, Java has inherent performance benefits over PHP (as well as rapidly-decreasing performance disadvantages compared to native C code) but you can definitely write slow Java code if you like...


In reply to sam marshall

Re: Moodle.NET - what do you think?

by Daniel Denev -

The language is not important. PHP, Java or C#.NET are equal as a capables abilities for creating VLEs. Moodle is not all-purpose and is not used by users as the one and unique. It is due to the business-logic in the software architecture and meeting user's requirements and expectations. The philosophy of the application is very important. Moodle use the social constructivism. conception. The others use anather philosophies. Pedagogy is important and it is the commonly between different VLEs.

There are not great developers but great teams (including pedagogs)

Moodle has not enough or not fully published techical documentation for developers and users. There are not description or schemas of the database (DB of Moodle)! It is so obvious!

In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
I've been hanging around the Moodle world for long enough to have heard it all before. In fact I was probably saying some of the same things myself.

Moodle is not perfect... far from it. It doesn't stick to all that stuff they taught you in Computer Science classes. That's because it wasn't written by computer scientists, it was written by pragmatists wanting to get a job done. Things have changed over the years and there are now a lot of professional developers involved and (for better or worse) the code is looking very different. There is still a *lot* of history that you can't change overnight.

Nobody wrote any UML diagrams (good thing too) or any of that stuff. I think if we'd gone down that path we'd still be sat talking about it.

I think you're either on board or you're not. If you want Moodle to be better and have great documentation that's fantastic. Only trouble is you'll need to make a *positive* contribution by doing some of the work (or paying for it).
In reply to Howard Miller

Re: Moodle.NET - what do you think?

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Well, actually I am a computer scientist and I did actually make UML diagrams in the beginning. smile

Things are definitely not perfect. I made my share of mistakes, such as very occasionally deliberately breaking table normalisation to make coding easier. People also get confused at my original notion of classes as directories and scripts as methods (and fair enough, it's a bit unique, though that point of view worked for me).

The trouble mostly is that things have grown rapidly since then and people haven't developed new documentation because:
  1. a few people have made diagrams but there was never interest from anyone to maintain them, probably because
  2. database diagrams are not really much more useful than looking at, say, phpmyadmin (once you understand the naming scheme which is pretty consistent), and more seriously as we go forward:
  3. we don't really want developers directly accessing databases! They should be using Moodle APIs.
In reply to Martin Dougiamas

Re: Moodle.NET - what do you think?

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Damn... smile

So am I but I'm not proud of it! You know what I mean though. A hell of a lot of it was hacked together by keen people who where primarily teachers and only then programmers. I always thought that was a *good* thing. Obviously this had some down sides but Moodle ended up being something that real educators actually wanted to use rather than some smart-arse programming project.
In reply to Martin Dougiamas

Re: Moodle.NET - what do you think?

by Subodh Iyengar -
oh ya.. course_sections storing module instances as a comma seperated value in the sequence field. Almost made me want to throw my Korth at someone... smile shame on you.
I have one question actually, even though in the XMLDB docs in the db/install.xml files theres foriegn key constraints mentioned, when the databases are actually created, they do nothing to enforce that constraint.. not even an ON UPDATE RESTRICT. Is this work pending?
Average of ratings: Useful (1)
In reply to sam marshall

Re: Moodle.NET - what do you think?

by Daniel Denev -
This ( http://fabforce.net/dbdesigner4/ ) is given as a link in the Documentation for developers as a DB schema, but DB Designer is not schema itself. Database of one software application has nolmalisation, table descriptions, field data types and etc. Where is all of that for Moodle!?
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Mike Churchward -
Picture of Core developers Picture of Plugin developers Picture of Testers
Hi Daniel -

Moodle is an Open Source project. You are free to help develop the documentation you are demanding.

Many of us have managed to figure out Moodle on our own, looking at the API's and the data tables.

I suggest you may want to do the same.

Mike
In reply to Mike Churchward

Re: Moodle.NET - what do you think?

by Daniel Denev -

Dear Martin,
Last 3 yers I found and develop PhotonSoft Ltd.
I think that Moodle may be project for software developers and teachers.
Moodle is great project and I do not want to speek about something in which I have no merit (I have no contribution).
By my oppinion (only private oppinion): Do not do project from programers to programmers and give the chance to the teachers-developers which
are not so skilled in programming to give hacks. Please, do not close the project to narrow circle of initiated into secrets. I am software developer and university teacher for about 9 years... You are very skilled software architect ... but others?
UML diagrams and DB diagrams is VERY IMPORTANT and useful (on the contrary of your opinion). All developers in the world work by this way. It is not my whim, it is standard of work.

To Frank Ralf ... This " Development:Database Schema = http://docs.moodle.org/en/Development:Database_Schema" XML schema (DB schema) is NOT that I mean!
I mean graphical schema (picture, diagram...) I know very well what is that XML document mean! It is known from a years (Moodle version 1.8) Today we have version 1.9 and 2.0

All users write SQL scripts for their modules and suggest them to be used by others. Moodle has many SQL scripts but there are not a UNIFIED conception about Database unification and normalisation. The situation is out of control. The database make slow the work of the system!


To Mike Churchward ... I will do it if Martin is agree! I want to offer Martin my partnership and if he is agree I have very interesting Ideas that I would like to share with him.

Best regards to all here

In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Frank Ralf -
No need for shouting. The database schemas are graphical schemas, not mere XML:

"The files available here are in DBDesigner4 format. DBDesigner4 is a schema drawing program released under GPL."
Development:Database Schema
In reply to Frank Ralf

Re: Moodle.NET - what do you think?

by Daniel Denev -

Only the truth must scream out to be listen. I  know, You know about the DB Designer but none else from teachers-developers who want to view the DB Schemas in graphics (jpg, png ...)  Thay can be very useful moodlers, but you keep them apart!

I have doubts that it is posible at all to be represented as graphic files! This is the reason (nothing else). Graphic representation of Moodle version 1.8 is old information (if you use DB Designer to convert XML into JPG file and put it here) and is not actual. Where is the XML file that We can load into our DB Designers for Moodle 1.9 and 2.0 ???

In reply to Penny Leach

Re: Moodle.NET - what do you think?

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Yeah, sure. You know, women can stand the pain __much__ better than men, so this SMGL thinggy is not going to inflict them even a little bit of pain smile

Saludos. Iñaki.
In reply to Martín Langhoff

Re: Moodle.NET - what do you think?

by Anthony Borrow -
Picture of Core developers Picture of Plugin developers Picture of Testers
Call me a fool but I always thought these types of conversations were limited to April 1st.
In reply to Anthony Borrow

Re: Moodle.NET - what do you think?

by Daniel Denev -
You are out of date. Today is not April 1st. I am not a mad man, I know what I want to say very well. Soon All of us will see ...   .NET in e-learning givs more than PHP.  XML/XSL  is not SGML   XML may be used as DB  but I  work on C#/ASP.NET and Oracle   It is possible Moodle.NET  Business-Logick Layer to be written !!!
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Martín Langhoff -

C#/.NET is just a modern programming language+framework, just like PHP. There is no significant difference in what either of them can do.

It's likely that there are some minor differences of the "it's a little bit easier to do task X with .NET!" kind. But their impact is tiny, and they are offset by other tasks that are a little easier in PHP.

So -- you have this product that would cost at least several million dollars and a couple of years to write. It is written in PHP and you have it today, and people are enhancing it today. You can spend your time and money re-writing todays' Moodle in .NET. Be my guest. While you do that, you'll be targetting 1.8 Moodle feature set. In the meantime Moodle keeps growing and getting better at an ever faster pace.

Of course you can try to target the "current" moodle at your target release date - but unless you have infinite resources, my analysis is that you'll never catch up. And you won't have happy programmers either - moving goalposts are hell.

If your plan is to apply a lot of resources to move faster than moodle -- how much more would to get building with moodle, if a very significant portion of your effort is just in matching moodle development pace?

(BTW, this is the same effect that has killed all the linux competitors in the unix space except Sun. And what is Sun doing these days? Ah! OpenSolaris!)

You are not a madman -- but I suspect you haven't done the analysis before asking.

In reply to Martín Langhoff

Re: Moodle.NET - what do you think?

by Kiril Ilarionov -
WELL DONE!

Yes, Moodle needs re-engineering.

There are two main questions:
how to do that and
what to re-engineer?

The classical developer looks
for a leading role of a language,
PHP or C# here.

As a result developers choice
a script language as a
leading component
for a 3-tier architecture.

At the same time the customer
views User Interface
and the customer pays for functions.

At the same time developers
look for shorter time limits
for the same bundle of functions
+ the same gross amount.
It is possible to be done
if programmers use very often
non-procedural programming languages
as a component of 3-tied architecture,
i.e. SQL can be a leading component also.

smile



Kiril


In reply to Kiril Ilarionov

Re: Moodle.NET - what do you think?

by Daniel Denev -

YOU ARE ABSOLUTELLY RIGHT Mr. Ilarionov !!!

T-SQL for MS SQL Server relation DB or PL SQL for Oracle MUST be a leading component because

Oracle Databases extends Moodle's unique ability to deliver the benefits of e-learning oppen communities (not for universities):

We need a real application testing, we have to manage more data for less with advanced table partitioning and compression, in university we need the securely  data protection (MySQL!?) and enable compliance with total recall of data
Integrate 3D spatial and rich media content into e-learning processes. We need of good documentation for Moodle data-base. It is necessary to have some clear overview of this database. ... objects in it and etc.  Here I put a proposal that creates Moodle relational database in MS SQL Server 2000 and picture of the Diagram az picture.

To make a modules in Moodle for online live exchange of data between various linked servers (MasterServer [Ministery] <=> LocalClient-Servers [scools] )? These are basic ideas for expanding the horizons on various platforms (for examp. Java/Oracle or C#/ASP.NET/MSSQLServ) and showing the flexibility of Moodle as a complete system in handling the learning activities of the students.

Daniel from Bulgaria

In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Kiril Ilarionov -
Hi Daniel,

Nobody can be absolutely right.
The nature of a truth is relative.

Sybase sold his OLD DBMS technology.
MS began to sell that old technology under the brand name "MS SLQ Server".
At the same time Sybase Sybase used that funds
to develop a new DBMS technology

Meanwhile. there is a good gap
between T-SQL and PL/SQL,
and the sub-set as an ISO SQL-99 is a solution.

The good idea for an open source application
is yo use open source DBMS such as
Postgres or Firebird.

The both above RDBMS have a long history,
i.e. they are WELL tested and
I trust them.

> ... Integrate 3D spatial and rich media content into e-learning processe ...

Meanwhile, Postgres has build in geometry primitives.

smile

> ... hese are basic ideas for expanding the horizons on various platforms ...

XML is an Internet glue. Is it enough?

wink

or some thing likes Moodle Network
???

Regards,
smile
Kiril


In reply to Kiril Ilarionov

Re: Moodle.NET - what do you think?

by Daniel Denev -

This Mr. Ilarionov is the rd diagrame from execution of the sql_script_for_newmoodle_DB_inMSSQLServ.zip  script attached in the previous posting. Moodle.NET is neither a myth, nor fable


Attachment moodle.gif
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Kiril Ilarionov -
And who is speaking about a myth, nor fable, please?

surprise


In reply to Kiril Ilarionov

Re: Moodle.NET - what do you think?

by Daniel Denev -

I ask Martin if it is possible to speek with me. At this time I am very ill but I think over and cust about how ...

 I want to commit BEST.NET files in Moodle contrib (or CVS), and I want to contact him (Martin) to help me with this and http://sourceforge.net for storing C#/ASP.NET code in these repositories for files and all will have access to both projects  Moodle.NET  and BEST.NET (at this time I work on both). First prototypes will be sent to Martin very soon.

In a nutshell some developed applications like Moodle.NET and BEST.NET have to be and stay open source !!! And access to them to  be Free for All ...

Martin ...  After I bring rount to myself (I am Ill) I will write e-mail to you

Daniel from Bulgaria

In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Sure, no problem. Like I said, I'm happy to help by offering Moodle CVS as a place to store the code.

However, as others have pointed out the current name would be a problem (too much scope for confusion). Because of the different language there will be very little in common with Moodle. Your interfaces and data structures have already diverged a lot. Moodle is really just an inspiration for you. So it would have to be renamed something unique.

Also, as these projects grow you'll have people joining in, and will need places to discuss and track bugs etc.

All in all, I think opening a new project on sourceforge.net would be the best solution for you. It's very simple (and free!) to register a new project, just fill out the form:

http://sourceforge.net/docman/display_doc.php?docid=31766&group_id=1#project_registration
In reply to Martin Dougiamas

Re: Moodle.NET - what do you think?

by Daniel Denev -

   Yes Martin, You are good friend. Your advice has been already taken by me, and BESTdotNET was registered in http://sourceforge.net . After two days I will know if my project would be accepted. I hope it will be. Irrespective of the project planes of two projects [Moodle and BEST.NET] I will stay your friend and I will share all. You (both of us) understand that BEST has potential to succeed. You always may (if you want) to rely on me (forever).

   I do not think to re-engineer Moodle [This is your project that had been started many years before I appear here], BUT if you want I may be benefical to .NET integration or re-engineering of Moodle (if some day you decide that it in case of need) . I admire Moodle (it will be good idea to meet You), ...  when I projected and developped BEST I take the best ideas from LAMS, Moodle, WeLOAD, PeU and ATutor ...   and implemented many of the Ideas of prof. Totkov from PU ...

   Now I finished great .NET project with future but it will be Open Source Project [I swear] and I will be grateful to future collaboration with Moodle community (if you accept this Idea)

Please Martin and others here ...  help me ! In Bulgaria the "law" persecute concurrent competitive projects тъжен/тъжна

Daniel from Bulgaria 

In reply to Kiril Ilarionov

Re: Moodle.NET - what do you think?

by Bryan Williams -
The great thing about open source is that you can always take the source code and just start your own version of the project, on your own website, using your own resources and build your own community. wink This forum for example is the General developer forum for Moodle, located within the "Moodle.ORG" community and designed to promote developer dialog on Moodle (as it is currently engineered). The .NET idea is intriguing and should have a home somewhere other than within the framework of this community.
In reply to Bryan Williams

Re: Moodle.NET - what do you think?

by Daniel Denev -
I am homeless like waifs and strays. In Bulgaria the "law"  persecute the developers that develop concurrent competitor projects and take away by police force after perquisition. I have no own servers, I have no CD's with my developed code ... NOTHING!!!
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
You could open a new project at SourceForge and host it there. Make sure there is at least a second project admin, in case the "law" wants to shut the project down. The second admin (preferible from outside Bulgaria) could take care of the project in that event.

Saludos. Iñaki.
In reply to Iñaki Arenaza

Re: Moodle.NET - what do you think?

by Daniel Denev -

I only want to save the knowledge and long yers' hard work. Nothing else! Who here think that I commit a sin "let throw stones at me first". I simply want to save sth. valuable for others [I am sure evry of you would do the same if you were me] Please forgive me that I used this forum. I had no choice. I am in a desperate situation (blank despair).  Who wants to be the second administrator for the two projects [Moodle.NET and BEST.NET] in http://sourceforge.net  ???

Daniel from Bulgaria

In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
I'm not saying you are committing a sin. I just say that there are better places to hold your project. At sourceforge, you get your own CVS (or subversion) repository, a bug tracker, mailing lists, web space, and so on.

Your project will be there forever (as long as someone is interested on it) and no hard work will be lost.

And it'll be far easier for anyone to find it there, where it has its own space, than buried in some Moodle forums.

This is just my opinion.

Saludos. Iñaki.
In reply to Bryan Williams

Re: Moodle.NET - what do you think?

by Kiril Ilarionov -
Thank you very much, Mr. Williams.

You reply to my post and therefore
permit me to say that in my posts
I am not discussing .NET architecture.

Meanwhile, the 3-tier architecture
was born before .NET

As I understend General developer forum
located within the "Moodle.org" community
and designed to promote developer dialog
is not the right place to discuss development,
incl. re-engineering maybe, is'nt it?

Have a nice time.

smile

Regards,

Kiril Ilarionov


In reply to Kiril Ilarionov

Re: Moodle.NET - what do you think?

by elearning edu -

Let me understand and let me bb not misunderstood.

First of all the term Moodle.net will be a point of contention from IPR angle. Unless the owner agrees for such a name.  It is pointed out here repeatedly that the term Moodle is a reserved term

Similarly the forum is meant to promote moodle related discusions minus moodle business which is exclusive for the partners

I learnt this in a hard way and I was reminded many times that the space should not be used for individual promotion and many community members are advised to avoid discussions which will be against the interest of Moodle foundation and moodle community

Therefore it is pointed out that any attempt to develop a moodle like prtotype in DOTNET must find a place of its own somewhere. 

Posting repeatedly the codes here in Moodle without having a seperate developer's site will create information overload

At the same time it is important to understand that the developer is in need of a sanctuary to put all his knowledge and work in a place where it will be incubated and nurtured

While the message is clear that this is not the place for him to put his years of hard work on Moodle like work, it is humane to help the developer to find a place to put his knowledge

Though it is a momentary attempt to record his work in the moodle space, he got the attention of the community and understood the way this community will act and react

Nagarajan

In reply to elearning edu

Re: Moodle.NET - what do you think?

by Kiril Ilarionov -
Agree with Nagarajan completely!

The post is brilliant!

THANKS A LOT FOR A PROMPT POST smile

Kiril

In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Anthony Borrow -
Picture of Core developers Picture of Plugin developers Picture of Testers
I appreciate your commitment both to Moodle and .NET. While .NET may be possible and perhaps even provide some advantages I think a lot remains to be said to having an open source project in which all of the pieces are open source. Many Moodle users could not afford Oracle and I have been grateful for Moodle's commitment to open source software/solutions.
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Patrick Pollet -
> It is possible Moodle.NET Business-Logick Layer to be written ...

Back to serious answers ...plz

A Moodle - Net layer has been written (see http://moodle.org/mod/forum/discuss.php?d=67947)
allowing .NET applications such as Visual Studio or Office 2007 to access a subset of Moodle's data such as courses, students, events, grades ... This is based on a Web Service using SOAP protocol (and XML... , not SGML wink)

As far as programming some "Moodle aware" apps in (not so) fancy languages we DO use here Python (to sync Moodle's events and ressources with a Plone based portail) and Java (to sync students and grades with our main SIS)... see http://cipcnet.insa-lyon.fr/Members/ppollet/public/moodlews/.

This layer gives access to Moodle to other professionnals that do not have to know PHP/MySQL (but are excellent in other systems, nobody is perfect) nor have administrative access to our Moodle servers.. This was highly desirable here ...

HTH
In reply to Patrick Pollet

Re: Moodle.NET - what do you think?

by Martín Langhoff -
> A Moodle - Net layer has been written

Yep - that's a language independent means of querying Moodle -- something a lot more interesting than what Daniel was asking about (and led to all the jokes around here) .

In moodle 1.8 there's a perfectly usable XML-RPC interface that I'm guilty of not documenting. IOWs, I'm guilty of the design, part of the implementation and so far 0% of the documentation.

And MD will say -- quite rightly -- quit flamefesting and write the documentation!

/ runs and hides. smile /
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Petar Atanasov -
Finally, the giggle mood is over and the conversation can continue with normal well-founded tone.

First of all let me express my respect for all of you, I see you’re great team producing wonderful and (most important) useful product. Of course there are problems but we all live in a non-perfect world.

I saw the glow of the started flame war yesterday, but I didn’t react, because the tendency of expression was far beyond the level of all participants.

So now I hope is time to share my humble opinion:

  1. If Moodle needs revision, than may be the most appropriate one will be upgrade to PHP5. Of course, if this upgrade does not “eat” the feature list tailed in the future version milestones. This is a capital decision which must be taken and can be taken only from the HQ, so – no need to discuss it in forums. Forums are for technical support, collaboration and as we’ve all seen – sometimes for growing flame wars.
  2. Speaking from my point of view (I’m a senior .NET developer with experience back in time where there were no such fancy platform, whose like to code in other languages just to keep up the fire of pragmatic approach in various paths) – yes, the proposal of migrating Moodle to .NET is more than jesting – obviously the one who gives it hasn’t experienced problems with working with solutions from .NET framework 1 to 2 (and vise versa in solutions during the last 3 years, mostly in code developed by neophytes spelled by the enormous framework capabilities, classes, methods, interfaces and short coming deadlines), hasn’t used the dull built in XML serializer, hasn’t detected memory leaks, as well as memory management problems – not even stumbled in such a ridiculous C# features like the maimed SWITCH statement, should I continue the list ? Further more - .NET why? What will happen after 5 years (the standard life cycle period of all Microsoft products)? Remember what happened with the COM world – still agonizing even after the massive attack from the new modern .NET platform.
  3. .NET doesn’t mean that products developed with it can’t be open source (as Anthony noticed). Lets say if one can’t afford (or doesn’t want to) use the official (heavy weighted) visual studio, can download the free open sourced SharpDevelop IDE.
  4. The major question which can be extracted here is what will Moodle benefit of any coupling with the .NET framework? May be a reasonable effort would be to make a .NET layer for web services – with examples on both VB.NET and C#? Or to make a module for online live exchange of data between various linked servers? These are basic ideas for expanding the horizons on various platforms (even Java – why not) and showing the flexibility of Moodle as a complete system in handling the learning activities of the students.

Regards,
Petar Atanasov
http://a-wake.net

In reply to Petar Atanasov

Re: Moodle.NET - what do you think?

by Daniel Denev -

Hello friends!

Unfortunatelly I am ill and ...  уморен(а)

Here I posted the proposal of BEST.NET (Moodle.NET) functionality written with C# , ASP.NET, T-SQL and XML / XSL

Installation:

1.) Create a virtual directory in IIS called BESTdotNET and put here the directories Setup, BESTdotNET and Solution file (All content of BESTdotNET_light)

2.) Create with EnterpriseManaget the database BEST and after that execute SQL scripts. Second sql-script (LoqdData) creates the initial data and language. Login and Password is denev / denev

3.) Compile with Visual Studio the code so that to build KNOWLEDGWBEST.dll in bin-directory

4.) Start and configure in BESTCfg.xml

BEST is a module solution implementing most common Moodle functionality but with relation DB

The BEST DenevsProjects demonstrates how you can use C#.NET and the .NET Framework 1.1 to build either an intranet or Internet educational and books and library management systems. It also demonstrates a host of developer "best practices" to follow when building e-learning hub-portals for educational institutions. Please review the code below to see how the application was architected and built.
All code contained in the BEST.NET is developped by PhDs of Plovdiv University. Some images are Bulgarian Educational Site .

BEST Modules
--------------------------------------------------------------------------------
BEST modules let you organize, display and maintain data. The BEST DenevsProjects provides 10 "out of the box" modules you can use. All 10 BEST modules provide "desktop browser" rendering support -- meaning they can be used to target all standard html based browsers (Internet Explorer, Netscape, Opera, etc). 4 of the BEST modules also provide "mobile device" rendering support -- meaning they can be used to target small mobile devices that support either HTML, WML/WAP, or CHTML rendering markup.

Each BEST module UI element is implemented as an ASP.NET User Control that displays the module's data/content within a BEST page. A BEST module targeting mobile devices is implemented using the standard mobile controls that ship as part of the Microsoft Mobile Internet Toolkit for ASP.NET (these server controls are typically denoted with the "mobile:" tag prefix). Optionally, each BEST module may also include an Edit Page to let users interactively update the data, business components to interface to the data source, and stored procedures to fetch/update the data.

Click on the links below to view the files that implement the standard "out of the box" modules. Note that the BEST framework is not limited to supporting only the built-in modules. It is easy for developers to develop and integrate their own custom modules into the BEST as well.

BEST Inovations and Technologie Framework
--------------------------------------------------------------------------------

The innovative character of BEST is showed in the following functionalities of the environment: Creating e-projects (for other educational or-ganizations, fields of learning, learners), by modify-ing, exchanging or importing e-courses, learning activities and resources; Planning and managing e-projects, flexible control and communication with users during the virtual e-learning process; Creating adaptive e-courses and e-lessons through various teaching methods which allow adaptability of the virtual learning to the learners/ group of learners; Interpreting the e-process from different viewpoints (e.g. author’s, teacher’s, student’s, guest’s, etc.) or in different forms and media (for mobile devices, people with specific needs, etc.); Keeping an unlimited (practically) number of user roles – 7 standard roles and their derivatives, dynamically determined depending on the variety of allowed and prohibited actions for the virtual user in a specific BEST context; Exporting/importing using e-learning stan-dards (SCORM, IMS, GIFT, WebCT, Aiken, etc.); Vitality, even without the necessary e-materials and e-resources (BEST functions also both as a system for planning, informing and organizing the learning process in different educational forms and as a system for internal communication); Multilingual support and work with terms specific for the field of learning/ teaching; Also includes (or experiments with) the basic means of communication, information and control (mobile, video, bio-identification, etc.) and new e-learning technologies (linguistic, cognitive, etc.).

All configuration settings for the BEST are stored within an XML configuration file -- enabling web administrators to easily deploy an instance of the BEST accross multiple front-end web servers (each pulling the appropriate configuration data out of the same version of the BEST configuration file). In a web farm environment care needs to be taken to replicate the latest configuration file across servers. In the method saveSiteSettings() the BESTCFG.xml file is updated making this a natural area to add replication code.

The BEST Framework code listed below uses this configuration data to control the BEST's content layout (ie: what BEST tabs are displayed -- and what BEST modules live on each tab) and security settings (ie: user roles, access permissions, etc).

Configuration is loaded on each request from within the BEST Application's Global.asax file using the Configuration business component.   It is then used from within either the BEST's DesktopDefault.aspx page (if the accessing browser is an HTML desktop device -- IE, Netscape, Opera, etc) or within the BEST's MobileDefault.aspx (if the accessing computer is a mobile device) to correctly render a tab view of the BEST. 

The BEST framework logic is encapsulated within 5 pages, 4 user controls, 5 class files, 2 stored procedures, the global.asax file and an XML configuration file.


BEST Admin Tool

--------------------------------------------------------------------------------
Bulgarian Educational Site provides an online Admin tool that permits users in the "Admins" role to manage the content, layout and security of the BEST. For information about how to use the Admin tool, see the "About the BEST" tab.

The BEST Admin Tool updates the BEST configuration using a Configuration component, and updates User Roles using the RolesDB component.  The BEST Configuration elements, such as Tab names and layout, Module definitions and settings, and BEST display name, are stored in an XML file and retrieved into a cached DataSet.  The Roles, User, and Security information, as well as the individual module data, are stored in the database.


About BEST
--------------------------------------------------------------------------------
The innovative character of BEST is showed in the following functionalities of the environment: Creating e-projects (for other educational organizations, fields of learning, learners), by modify-ing, exchanging or importing e-courses, learning activities and resources; Planning and managing e-projects, flexible control and communication with users during the virtual e-learning process; Creating adaptive e-courses and e-lessons through various teaching methods which allow adaptability of the virtual learning to the learners/ group of learners; Interpreting the e-process from different viewpoints (e.g. author’s, teacher’s, student’s, guest’s, etc.) or in different forms and media (for mobile devices, people with specific needs, etc.); Keeping an unlimited (practically) number of user roles – 7 standard roles and their derivatives, dynamically determined depending on the variety of allowed and prohibited actions for the virtual user in a specific BEST context; Exporting/importing using e-learning stan-dards (SCORM, IMS, GIFT, WebCT, Aiken, etc.); Vitality, even without the necessary e-materials and e-resources (BEST functions also both as a system for planning, informing and organizing the learning process in different educational forms and as a system for internal communication); Multilingual support and work with terms specific for the field of learning/ teaching; Also includes (or experiments with) the basic means of communication, information and control (mobile, video, bio-identification, etc.) and new e-learning technologies (linguistic, cognitive, etc.).

In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -

About Bulgarian Educational Site on .NET technology

   The BEST .NET demonstrates how you can use ASP.NET and the .NET Framework to build either an intranet or Internet module educational portal. The BESTdotNET offers all the functionality of typical educational applications, including:

 

   All code contained in the BESTdotNET download package is free for all educational institutions all over the world. But if you prefer, you may customize BESTdotNET for your educational institution without writing a line of code. The BEST includes built-in Administration pages for setting up your e-projects, adding learning content and tests, and setting security options (roles, permissions, contexsts).

Attachment bestDnet.gif
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -
BEST Tabs

Content in the BEST is grouped by Tabs. For example, the BEST has five content tabs ==>

You can create tabs that are visible only to certain users. For example, you might create a private tab that only users in the "Managers" role can view. See Managing BEST Layout to learn how to create a tab, and Managing User Security to learn how to control access to a tab.

Attachment tabbar.gif
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -
BEST Modules

  BEST Modules are modular pieces of code and UI that each present some functionality to the user, like a threaded discussion list, or render data, graphics and text, like a "sales by region" report. Typically, several BEST modules are grouped on a BEST tab. For example, the Home tab of the BEST has seven modules ==>

When a user browses a tab in the BEST, the BEST reads a description of the tab from it's configuration file, and automatically assembles a page from the BEST modules associated with the tab. The Home tab is composed from these modules:
  1. Sign-in module: the BESTdotNET inserts this module on the first tab automatically if the user is not yet authenticated.
  2. QuickLinks module: a list of ASP.NET links rendered compactly for learning resources.
  3. Html/Text module: an Html snippet, including an image, that introduces BEST. An alternate, text-only version is supplied for m-learning.
  4. Announcements module: a list of IBuySpy.com news items, briefly summarized, with links for more information.
  5. Events module: a list of upcoming events, including time, location and a brief description.
  6. Another Html/Text module: an Html snippet, including an image, that describes this week's special.
  7. XML module: the results of an XSL/T transform on an XML file that shows recent revenue trends for IBuySpy.com.
Built-In BEST Modules
You can use multiple instances of a module type in the BESTdotNET, for example an Teachers Info Links module and a EduPacks Links module. The BEST provides 10 basic Desktop module types (as Moodle), listed below. Four of these--Announcements, Contacts, Events and HTML/Text--support an alternate rendering for m-learning.
Attachment whataremodules.gif
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -
Managing BEST

Attachment admin.gif
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -
Tabs & Layout

BEST layout is managed using the Admin tool.
Attachment layout.gif
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -

MS SQL Server Scripts & DB Diagram for BESTdNET Edu Portal

Attachment db.jpg
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -

   Announcements in .NET alternative of Moodle  (BEST.NET)
  This module renders a list of course and learning events announcements. Each announcement includes title, description of course event and a "read more" link, and can be set to automatically expire after a particular date from learning plan.
 
Announcements includes an edit page, which allows authorized users to edit the data stored in the SQL database in MS SQL Server.

Attachment m_ann.gif
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -

Module Teacher's / Student's Contacts
in
 .NET alternative of Moodle  (BEST.NET)

  This module renders teacher's contact information for a group of teachers, for example a e-edu-project team or course. The m-learning version of this module also provides a Call link to mobile phone (or PDA) a contact when the module is browsed from a wireless telephone. Contacts includes an edit page, which allows student or teacher to edit the Contacts data stored in the SQL database in MS SQL Server.

Attachment m_con.gif
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -

This is the source-code of the module Contacts in  .NET althernative

In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -

   Discussion

   This module renders a group of message threads on a specific educational theme. Discussion includes a Read/Reply Message page, which allows authorized students to reply to exising messages or add a new message thread. The data for Discussion is stored in the SQL database.

Attachment m_dsc.gif
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -
This is the source-code of the module Discussions ...
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -

    Documents

   This module renders a list of teacher's documents, including links to browse or download the document (learning resources). Documents includes an edit page, which allows teachers to edit the information about the Documents (for example, a friendly title) stored in the SQL database. The document itself may be linked to via URL or uploaded and stored in the SQL database.

Attachment m_doc.gif
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -
This is the source-code of the module Documents in .NET alternative for Moodle.NET
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -

   Events

   This module renders a list of upcoming events in course, including time and location (classroom). Individual events can be set to automatically expire from the list after a particular date from learning plan. Events includes an edit page, which allows кхсэеиясшщ схязеъшди to edit the learning еvents data stored in the SQL database.

Attachment m_evt.gif
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Eduardo Hernandez -
hi!

I have seen the images.. but is it really Moodle.NET?. Looks like a brand new product..
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -
This is the source-code of Events module in .NET Moodle alternative
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -

    Html/Text

   HTML/Text module in .NET Moodle alternative (BEST.NET) renders a snippet of HTML or text. This module includes an edit page, which allows aughtors of courses to the HTML or text snippets directly. The snippets are stored in the SQL database of MS SQL Server.

Attachment m_htm.gif
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -
This is the Source Code of the HTML / Txt module in .NET Moodle alternative
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -

    Image

   This module renders an image using an HTML IMG tag. The module simply sets the IMG tag's src attribute to a relative or absolute URL, so the image file does not need to reside within the .NET alternative. The module also exposes height and width attributes, which permits you to scale the image. Image includes an edit page, which persists these settings to the BEST's configuration file.

Attachment m_img.gif
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -

This is the source code of the Image module in .NET alternative

In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -

    QuickLinks

   Like Links, this module renders a list of hyperlinks to learning resources. Rather than rendering it's title, however, QuickLinks shows the title "Quick Launch." It's compact rendering and generic title make it ideal for a set of 'global' course links that appears on several tabs in the .NET alternative. QuickLinks shares the Links edit page, which allows teachers to edit the QuickLinks data stored in the SQL database in the MS SQL Server.

Attachment m_ql.gif
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -

This is the source code of the XML module in .NET Moodle alternative

In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -
BEST Inovations and Technology Framework

The innovative character of BEST is showed in the following functionalities of the environment:

  • Creating e-projects (for other educational or-ganizations, fields of learning, learners), by modifying, exchanging or importing e-courses, learning activities and resources;
  • Planning and managing e-projects, flexible control and communication with users during the virtual e-learning process;
  • Creating adaptive e-courses and e-lessons through various teaching methods which allow adaptability of the virtual learning to the learners/ group of learners;
  • Interpreting the e-process from different viewpoints (e.g. author’s, teacher’s, student’s, guest’s, etc.) or in different forms and media (for mobile devices, people with specific needs, etc.);
  • Keeping an unlimited (practically) number of user roles – 7 standard roles and their derivatives, dynamically determined depending on the variety of allowed and prohibited actions for the virtual user in a specific BEST context;
  • Exporting/importing using e-learning stan-dards (SCORM, IMS, GIFT, WebCT, Aiken, etc.);
  • Vitality, even without the necessary e-materials and e-resources (BEST functions also both as a system for planning, informing and organizing the learning process in different educational forms and as a system for internal communication);
  • Multilingual support and work with terms specific for the field of learning/ teaching;
  • Also includes (or experiments with) the basic means of communication, information and control (mobile, video, bio-identification, etc.) and new e-learning technologies (linguistic, cognitive, etc.).



   All configuration settings for the BEST are stored within an XML configuration file -- enabling web administrators to easily deploy an instance of the BEST accross multiple front-end web servers (each pulling the appropriate configuration data out of the same version of the BEST configuration file). In a web farm environment care needs to be taken to replicate the latest configuration file across servers. In the method saveSiteSettings() the BESTCFG.xml file is updated making this a natural area to add replication code.

   The BEST Framework code listed below uses this configuration data to control the BEST's content layout (ie: what BEST tabs are displayed -- and what BEST modules live on each tab) and security settings (ie: user roles, access permissions, etc).

   Configuration is loaded on each request from within the BEST Application's Global.asax file using the Configuration business component.   It is then used from within either the BEST's DesktopDefault.aspx page (if the accessing browser is an HTML desktop device -- IE, Netscape, Opera, etc) or within the BEST's MobileDefault.aspx (if the accessing computer is a mobile device) to correctly render a tab view of the BEST.

The Bulgarian Educational Site (BEST) framework logic (based on .NET Microsoft technology) is encapsulated within 5 pages4 user controls5 class files, 2 stored procedures, the global.asax file and an XML configuration file. Click on the links below to view the files that make up the BEST framework:

Global.asax
  • Global.asax
User Controls
  • DesktopBESTBanner.ascx
  • DesktopModuleTitle.ascx
  • MobileModuleTitle.ascx
  • SignIn.ascx
Stored Procedures
  • AddUser
  • UserLogin
BEST Stylesheet
  • KNOWLEDGEBEST.Css

Pages

  • Default.aspx
  • DesktopDefault.aspx
  • MobileDefault.aspx
  • Register.aspx
  • Logoff.aspx

Classes

  • Configuration.cs
  • RolesDB.cs
  • Security.cs
  • DesktopControls.cs
  • MobileControls.cs

Application Configuration File

  • Web.Config
  BESTConfiguration File 
  • BESTCfg.xml
Attachment files.jpg
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -

BEST Admin Tool


  Bulgarian Educational Site provides an online Admin tool that permits users in the "Admins" role to manage the content, layout and security of the BEST. For information about how to use the Admin tool, see the "About the BEST" tab.

  The BEST Admin Tool updates the BEST configuration using a Configuration component, and updates User Roles using the RolesDB component.  The BEST Configuration elements, such as Tab names and layout, Module definitions and settings, and BEST display name, are stored in an XML file and retrieved into a cached DataSet.  The Roles, User, and Security information, as well as the individual module data, are stored in the database in MS SQL Server.  

User Controls on Admin Tab
  • SiteSettings.ascx
  • Tabs.ascx
  • Roles.ascx
  • Users.ascx
  • ModuleDefs.ascx
Admin Pages
  • SecurityRoles.aspx
  • TabLayout.aspx
  • ModuleSettings.aspx
  • ModuleDefinitions.aspx
  • ManageUsers.aspx
Business Components
  • Configuration.cs
  • RolesDB.cs
Attachment rolemembership.gif
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -
The Security Roles section of the Admin tab lets you define roles for the BEST.
  • To create a new role to the BEST, click the "Add new role" link.
  • To edit an existing role, click the pencil button next to the role name.
  • To delete a role, click the X button next to the role name.

                                    
Attachment roles.gif
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -

Installation of BEST.NET

1. Create directorie C:\Inetpub\wwwroot\BESTdotNET
2. Put here Microsoft Visual Studio Solution Object file "BESTdotNET"
3. Create C:\Documents and Settings\Administrator\Desktop\BESTdotNET\BESTdotNET
and the following sub-directories:
  - admin
  - bin
  - Components
  - DesktopModules
  - Docs
  - images
  - MobileModules
  - Uploads

4. Put the archive [admin.zip, Components.zip] content to the respective directories
5. Files of the project are in the archive files.zip and you have to put them in to directory C:\Documents and Settings\Administrator\Desktop\BESTdotNET\BESTdotNET
6. Use SQL scripts [BEST_CreateDB.sql and BEST_LoadData.sql] to create the DataBase
7. Put the KNOWLEDGEBEST.dll file in to bin directory and rebuild the project in to Microsoft Visual Studio
8. Download Desktop Modules from posts above and put them in to DesktopModules directory
9. Start the project and use login / pass : denev / denev

I wish you All the BEST намигане

In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -
Microsoft Visual Studio Solution Object file "BESTdotNET"
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -
This is the archive:  admin.zip! You have to download DesktopModules from above ... 
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -
This is the archive:  Components.zip!
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -
This is the SQL scripts [BEST_CreateDB.sql and BEST_LoadData.sql] to create the DataBase
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -
Put the KNOWLEDGEBEST.dll file in to bin directory and rebuild the project in to Microsoft Visual Studio
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -

   BESTdotNET follows the module (object) model of Moodle. It is an alternative vritten on C# and ASP.NET and is Open Source (published here - above) Now I work on the mechanism of modifying the .NET Moodle  web.config file via my BEST.NET installer. 

   Parameters can be set as properties through the BEST.NET installer that you are using to install the .NET Moodle alternative. When you create a class that inherits System.Configuration.Install.Installer, you gain access to a Context property.
This Context property has a Parameters StringDictionary on it which contains all the property values.
   The following code snippet shows an implementation of an installer that can modify a web.config file of the .NET alternative. If you use this in your BEST.NET code, you'll need to make sure and add the RunInstaller(true)
attribute to the class (this class was written on C#.NET).

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 

public class WebConfigInstaller : Installer
{
     protected string WebConfigFilename
     {
          get
          {
               return Path.Combine(
                   this.Context.Parameters["INSTALLDIR"], "Web.config");
           }
      }
 
     public override Install(IDictionary stateSaver)
     {
          base.Install(stateSaver);
         
          XmlDocument doc = new XmlDocument();
          doc.Load(this.WebConfigFilename);
 
          // At this point, you can modify your web.config
          // via the objects in the System.Xml namespace.
 
          doc.Save(this.WebConfigFilename);
      }
 
     public override Uninstall(IDictionary savedState)
     {
          if (File.Exists(this.WebConfigFilename))
          {
               File.Delete(this.WebConfigFilename);
           }
      }
}Feedback always welcome in this forum ...

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 

    During the installation process of this Moodle .NET alternative called BEST (Bulgarian Educational Site), it was necessary to run some SQL scripts [BEST_CleanUp.sql; BEST_CreateDB.sql; BEST_DropDB.sql; BEST_GrantPermissions_ForRemote.sql; BEST_LoadData.sql] to prepare BEST.NET for first use.

   Of course, you could have the user do this part manual, but in my opinion, a well polished installation of BEST should do everything for the BEST user (some university for example).

   For a while now, I've been looking at a good way to accomplish integrating the creation of BEST_CreateDB scripts with an installer. Deciding to leverage C#  components, I came up with this solution.

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 

[RunInstaller(true)]
public class SqlInstaller : System.Configuration.Install.Installer
{
     public override void Install(IDictionary stateSaver)
     {
          string server = this.Context.Parameters["Server"];
          string password = this.Context.Parameters["Password"];
          string user = this.Context.Parameters["User"];
          string database = this.Context.Parameters["Database"];
          string sqlFile = this.Context.Parameters["SqlFile"];
 
          // Store these values in the saved state so they will be available to
          // us in the uninstall.
          stateSaver.Add("Server", server);
          stateSaver.Add("Password", password);
          stateSaver.Add("User", user);
          stateSaver.Add("Database", database);
 
          string commandLine = String.Format("-U {0} -P {1} -S {2} -i \"{3}\"",
              user, password, server, sqlFile);
          LaunchOSql(commandLine);
 
          base.Install(stateSaver);
      }
 
     public override void Uninstall(IDictionary savedState)
     {
          base.Uninstall(savedState);
 
          string server = (String)savedState["Server"];
          string password = (String)savedState["Password"];
          string user = (String)savedState["User"];
          string database = (String)savedState["Database"];
          string sqlFile = this.Context.Parameters["SqlFile"];
 
          string commandLine = String.Format("-U {0} -P {1} -S {2} -i \"{3}\"",
              user, password, server, sqlFile);
          LaunchOSql(commandLine);
      }
 
     private void LaunchOSql(String commandLine)
     {
          using (Process process = new Process())
          {
               process.StartInfo.UseShellExecute = false;
               process.StartInfo.FileName = "osql.exe";
               process.StartInfo.Arguments = commandLine;
               process.Start();
  
               process.WaitForExit();
           }
      }
}When creating this custom action, you will need to pass in the a

In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by John Crow -
Unique ideas. Might be time for Moodle.NET to set up its own dev site!
In reply to John Crow

Re: Moodle.NET - what do you think?

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Yes. Daniel, please don't make hundreds of posts and attachments on moodle.org like this (especially not code which dates quickly) - it's spammy and hard to read anyway.

I'd like to read about this on a development site for your project somewhere.
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by elearning edu -

I think already people achieved concrete results to use DOTNET for elearning.  I did an elearning portal eight years back using ASP, IIS5 and MsSQL.  Still running

Few months back I started converting the same elearning portal in DOTNET and completed the development work.  Currently we do the validation and testing.

I am also working on the integration of FMS2 applications for online interactivity

Therefore undermining or ridiculing the idea of MoodleNET is a symptom of group think and ustainable

However there are warning signals

Moodle's functionality in IIS6 with MsSQL appears like an alchemy

With great trouble I was able to setup Moodle for an Intranet application.

This problem remains as a challenge - the problem of running Moodle in WIN2K3, IIS6, PHP5 and MsSQL

Satisfactory solution is available for Apache and MySQL  But corporate world just refuse the idea of using the FOSS with Moodle

They prefer moodle to run in Windows coexisting with SAP, Peoplesoft and oracle since they have already invested.  It is economical for them to use Moodle instead of going for a commercial elearning software

Moodle may not be comfortable in the coming years due to the additional challenges from Microsoft elearning and adobe elearning

The advantage for Moodle is its community and knowledge base.

Instead of criticising an attempt we think interms of learning from the experience of other developers and technologies.

I tried to download the source code to examine but I got an error.

I attach the screen shot here

Nagarajan

Attachment moodlenet.jpg
In reply to elearning edu

Re: Moodle.NET - what do you think?

by Marcus Green -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers

"Therefore undermining or ridiculing the idea of MoodleNET is a symptom of group think and ustainable"


It depends what you think is being ridiculed. If MoodleNET is the idea of redeveloping Moodle directly in a .NET language then it is abslutly worthy of undermining. It is a bad idea for many, many reasons.

The idea of development that allows Moodle to work with .NET technologies is a good idea. Which concept were you referring to?


In reply to Marcus Green

Re: Moodle.NET - what do you think?

by Rashan Anushka -
Hey! I think there is NO need of re-writing Moodle in deferent language. All our servers are in Linux platform and they are working for us extreamly well by serving thousands of users.

but I do like the ability to integrate Moodle with other systems (probably in different platforms too) and I think Moolde is already going in that direction by implementing features like WEB Services. Although this is not completed, I think implementing web services layer for moodle is the most acceptable solution.

Some time ago (when we used Moodle 1.5), even we had developed some simple desktop applications in .NET to do simple task like user management. At that time we have directly conected to the MySQL Server (by mysql .net adapter) and update certain data. So if you need, most of you can do simmilar things and I am sure that many of you doing things like this (not only in .Net but in many other languages).

For those who want to re-write Moodle, I suggest without 're-writing' moodle go and develop another new LMS and called some other name (I think to use the name Moodle you have to get written permision from Moodle Foundation). And pls distribute under GPL or any other OpenSource license, so that we can test it and use it if we need.



In reply to Rashan Anushka

Re: Moodle.NET - what do you think?

by Daniel Denev -

Dear Nagarajan and friends,

The hyperlink to download package was brocken because of Bulgarian Administrator replace my posts from Bulgarian forum for developers in BEST forum in BG section too.

At this situation all links was brocken. She is right to do this. I apologize for the posts, but BEST has the same module and object oriented architecture. The purpose was not to rewrite 1 : 1 Moodle on C#  NO, NO withowt sth. NEW. OK! I put ...

THE DOWNLOAD PACKAGES

BESTdotNET_light

BESTdNET_DB

Docs

In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Daniel Denev -
Course Module Files for BEST.NET  and Data Base Createion SQL Script that creates Data Base tables for course module. MS SQL Server 2000  and the name of the DB have to be "course"
In reply to Daniel Denev

Re: Moodle.NET - what do you think?

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Please stop using the forums as a repository for files - store them in a place that is intended for storing code (like sourceforge.net or your own web site).

If you want to store them in Moodle contrib, please contact me.
In reply to Martin Dougiamas

Re: Moodle.NET - what do you think?

by Daniel Denev -

OK! I will. Here in BG is 05:00 and I go to sleep, but later I will call you.

Morning from me

In reply to Marcus Green

Re: Moodle.NET - what do you think?

by Bryan Williams -
Agree with Marcus completely!

If an API hook were created for Sharepoint to Moodle then lots of services could potentially be available inside Moodle like:
  • Greater Group collaboration features
  • Industrial strength calendaring
  • Access to MS Sharepoint stack technologies (Office, Outlook etc.)
  • Document storage with DMS features
  • Greater content publishing features