You have posted this message on 7 (seven) Moodle forums. You should know that cross-posting is not accepted on these forums.
Joseph
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.
Personally, I favour a moodle 2.0 rewrite in INTERCAL. Go rabbits-ears. YMMV however.
WaveyDavey.
thx god, there is a BF-interpreter in LOLcode... http://forum.lolcode.com/viewtopic.php?id=51
.NET must be written on top of this... .. . meowbe... .. .
S.
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....
(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...
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!
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).
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:
- a few people have made diagrams but there was never interest from anyone to maintain them, probably because
- 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:
- we don't really want developers directly accessing databases! They should be using Moodle APIs.
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.
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?
hth
Frank
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
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
"The files available here are in DBDesigner4 format. DBDesigner4 is a schema drawing program released under GPL."
Development:Database Schema
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 ???
Saludos. Iñaki.
Is "of 80s" the 2nd thing?
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.
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.
Kiril
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
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.
> ... hese are basic ideas for expanding the horizons on various platforms ...
XML is an Internet glue. Is it enough?
or some thing likes Moodle Network
???
Regards,
Kiril
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
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
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
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
Saludos. Iñaki.
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
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.
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.
Regards,
Kiril Ilarionov
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
The post is brilliant!
THANKS A LOT FOR A PROMPT POST
Kiril
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 )
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
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. /
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:
- 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.
- 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.
- .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.
- 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
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.).
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). |
BEST Tabs | |
|
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. |
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.
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.
This is the source-code of the module Contacts in .NET althernative
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.
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.
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.
I have seen the images.. but is it really Moodle.NET?. Looks like a brand new product..
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.
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.
This is the source code of the Image module in .NET alternative
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.
This is the source code of the XML module in .NET Moodle alternative
BEST Inovations and Technology Framework
The innovative character of BEST is showed in the following functionalities of the environment:
|
Global.asax
|
User Controls
|
Stored Procedures
|
BEST Stylesheet
|
||
Pages
|
Classes
|
Application Configuration File
|
BESTConfiguration 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 in MS SQL Server.
User Controls on Admin Tab
|
Admin Pages
|
Business Components
|
The Security Roles section of the Admin tab lets you define roles for the BEST.
|
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
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
I'd like to read about this on a development site for your project somewhere.
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
"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?
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.
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
If you want to store them in Moodle contrib, please contact me.
OK! I will. Here in BG is 05:00 and I go to sleep, but later I will call you.
Morning from me
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
The idea of packet switching had been
absolutely worthy of undermining
from 1962 till 1968.
As I know the software life cycle
is a CYCLE, i.e. I can not
understand the content of a word "absolutely".
Please explain?
Regards,
Kiril