mitchelsellers / dnndocuments Goto Github PK
View Code? Open in Web Editor NEWThe OpenSource basic documents module for DNN/Evoq. (Moved from CodePlex)
License: MIT License
The OpenSource basic documents module for DNN/Evoq. (Moved from CodePlex)
License: MIT License
Currently a number of build warnings appear due to deprecated methods. Update the code to remove these calls
Issue from prior releases. Documented fix from the submitter.
"I was able to fix this problem today. In the source code for the documents module, edit the EditDocs.ascx.vb file, and towards the end of the Page_Load, the line that says: ctlUrl.Url = objDocumentsSettings.DefaultFolder & "A", the A needs to be upper case. I made it uppercase and everything is working fine now."
ExceptionHash:ZzlHNgMxMIdZRsFN9hbheNEmjbA=
Message:Error Creating BusinessControllerClass 'DotNetNuke.Modules.Documents.DocumentController, DotNetNuke.Modules.Documents' of module(DNN_Documents) id=(553) in tab(120) and portal(1)
StackTrace:
at DotNetNuke.Services.Search.ModuleIndexer.ThrowLogError(ModuleInfo module, Exception ex)
InnerMessage:Value cannot be null. Parameter name: type
InnerStackTrace:
at System.Activator.CreateInstance(Type type, Boolean nonPublic) at System.Activator.CreateInstance(Type type) at DotNetNuke.Services.Search.ModuleIndexer.GetModuleList(Int32 portalId)
Source:DotNetNuke
I have a rather old site that is still running v 3.1.6 of the Documents module. Is there an upgrade path to 7.0.0?
If I try to install 7.0.0 over it, I get the following
SQL Execution resulted in following Exceptions: System.Data.SqlClient.SqlException (0x80131904): Incorrect syntax near 'DefaultFolder'. Incorrect syntax near 'AllowUserSort'. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource
1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteScriptInternal(String connectionString, String script) ClientConnectionId:16443592-7ca4-4559-89ef-0d2f178a4b32 Error Number:102,State:1,Class:15 --Discrepancy fix for upgrades prior to version 06.00.00 IF (SELECT COLUMNPROPERTY( OBJECT_ID('dbo.DocumentsSettings'),'AllowUserSort','AllowsNull')) IS NULL ALTER TABLE dbo.DocumentsSettings DefaultFolder NVARCHAR(2000) NULL, CategoriesListName NVARCHAR(50) NULL, ADD AllowUserSort BIT NULL System.Data.SqlClient.SqlException (0x80131904): Invalid column name 'DefaultFolder'. Invalid column name 'CategoriesListName'. Invalid column name 'AllowUserSort'. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource
1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteScriptInternal(String connectionString, String script) ClientConnectionId:16443592-7ca4-4559-89ef-0d2f178a4b32 Error Number:207,State:1,Class:16 CREATE PROCEDURE dbo.[AddDocumentsSettings] @ModuleId INT, @ShowTitleLink BIT, @sortorder NVARCHAR(2000), @DisplayColumns NVARCHAR(2000), @UseCategoriesList BIT, @DefaultFolder NVARCHAR(2000), @CategoriesListName NVARCHAR(50), @AllowUserSort BIT AS INSERT INTO dbo.[DocumentsSettings] ( ModuleId, ShowTitleLink, SortOrder, DisplayColumns, UseCategoriesList, DefaultFolder, CategoriesListName, AllowUserSort ) VALUES ( @ModuleId, @ShowTitleLink, @sortorder, @DisplayColumns, @UseCategoriesList, @DefaultFolder, @CategoriesListName, @AllowUserSort ) SELECT @ModuleId System.Data.SqlClient.SqlException (0x80131904): Invalid column name 'DefaultFolder'. Invalid column name 'CategoriesListName'. Invalid column name 'AllowUserSort'. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource
1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteScriptInternal(String connectionString, String script) ClientConnectionId:16443592-7ca4-4559-89ef-0d2f178a4b32 Error Number:207,State:1,Class:16 CREATE PROCEDURE dbo.UpdateDocumentsSettings @ModuleId INT, @ShowTitleLink BIT, @sortorder NVARCHAR(2000), @DisplayColumns NVARCHAR(2000), @UseCategoriesList BIT, @DefaultFolder NVARCHAR(2000), @CategoriesListName NVARCHAR(50), @AllowUserSort BIT AS UPDATE dbo.DocumentsSettings SET ShowTitleLink=@ShowTitleLink, SortOrder=@sortorder, DisplayColumns=@DisplayColumns, UseCategoriesList=@UseCategoriesList, DefaultFolder=@DefaultFolder, CategoriesListName=@CategoriesListName, AllowUserSort=@AllowUserSort WHERE ModuleId = @ModuleId | SQL Execution resulted in following Exceptions: System.Data.SqlClient.SqlException (0x80131904): Incorrect syntax near 'DefaultFolder'. Incorrect syntax near 'AllowUserSort'. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource
1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteScriptInternal(String connectionString, String script) ClientConnectionId:16443592-7ca4-4559-89ef-0d2f178a4b32 Error Number:102,State:1,Class:15 --Discrepancy fix for upgrades prior to version 06.00.00 IF (SELECT COLUMNPROPERTY( OBJECT_ID('dbo.DocumentsSettings'),'AllowUserSort','AllowsNull')) IS NULL ALTER TABLE dbo.DocumentsSettings DefaultFolder NVARCHAR(2000) NULL, CategoriesListName NVARCHAR(50) NULL, ADD AllowUserSort BIT NULL System.Data.SqlClient.SqlException (0x80131904): Invalid column name 'DefaultFolder'. Invalid column name 'CategoriesListName'. Invalid column name 'AllowUserSort'. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource
1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteScriptInternal(String connectionString, String script) ClientConnectionId:16443592-7ca4-4559-89ef-0d2f178a4b32 Error Number:207,State:1,Class:16 CREATE PROCEDURE dbo.[AddDocumentsSettings] @ModuleId INT, @ShowTitleLink BIT, @sortorder NVARCHAR(2000), @DisplayColumns NVARCHAR(2000), @UseCategoriesList BIT, @DefaultFolder NVARCHAR(2000), @CategoriesListName NVARCHAR(50), @AllowUserSort BIT AS INSERT INTO dbo.[DocumentsSettings] ( ModuleId, ShowTitleLink, SortOrder, DisplayColumns, UseCategoriesList, DefaultFolder, CategoriesListName, AllowUserSort ) VALUES ( @ModuleId, @ShowTitleLink, @sortorder, @DisplayColumns, @UseCategoriesList, @DefaultFolder, @CategoriesListName, @AllowUserSort ) SELECT @ModuleId System.Data.SqlClient.SqlException (0x80131904): Invalid column name 'DefaultFolder'. Invalid column name 'CategoriesListName'. Invalid column name 'AllowUserSort'. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource
1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteScriptInternal(String connectionString, String script) ClientConnectionId:16443592-7ca4-4559-89ef-0d2f178a4b32 Error Number:207,State:1,Class:16 CREATE PROCEDURE dbo.UpdateDocumentsSettings @ModuleId INT, @ShowTitleLink BIT, @sortorder NVARCHAR(2000), @DisplayColumns NVARCHAR(2000), @UseCategoriesList BIT, @DefaultFolder NVARCHAR(2000), @CategoriesListName NVARCHAR(50), @AllowUserSort BIT AS UPDATE dbo.DocumentsSettings SET ShowTitleLink=@ShowTitleLink, SortOrder=@sortorder, DisplayColumns=@DisplayColumns, UseCategoriesList=@UseCategoriesList, DefaultFolder=@DefaultFolder, CategoriesListName=@CategoriesListName, AllowUserSort=@AllowUserSort WHERE ModuleId = @ModuleId
SQL Execution resulted in following Exceptions: System.Data.SqlClient.SqlException (0x80131904): Incorrect syntax near 'DefaultFolder'. Incorrect syntax near 'AllowUserSort'. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource
1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteScriptInternal(String connectionString, String script) ClientConnectionId:16443592-7ca4-4559-89ef-0d2f178a4b32 Error Number:102,State:1,Class:15 --Discrepancy fix for upgrades prior to version 06.00.00 IF (SELECT COLUMNPROPERTY( OBJECT_ID('dbo.DocumentsSettings'),'AllowUserSort','AllowsNull')) IS NULL ALTER TABLE dbo.DocumentsSettings DefaultFolder NVARCHAR(2000) NULL, CategoriesListName NVARCHAR(50) NULL, ADD AllowUserSort BIT NULL System.Data.SqlClient.SqlException (0x80131904): Invalid column name 'DefaultFolder'. Invalid column name 'CategoriesListName'. Invalid column name 'AllowUserSort'. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource
1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteScriptInternal(String connectionString, String script) ClientConnectionId:16443592-7ca4-4559-89ef-0d2f178a4b32 Error Number:207,State:1,Class:16 CREATE PROCEDURE dbo.[AddDocumentsSettings] @ModuleId INT, @ShowTitleLink BIT, @sortorder NVARCHAR(2000), @DisplayColumns NVARCHAR(2000), @UseCategoriesList BIT, @DefaultFolder NVARCHAR(2000), @CategoriesListName NVARCHAR(50), @AllowUserSort BIT AS INSERT INTO dbo.[DocumentsSettings] ( ModuleId, ShowTitleLink, SortOrder, DisplayColumns, UseCategoriesList, DefaultFolder, CategoriesListName, AllowUserSort ) VALUES ( @ModuleId, @ShowTitleLink, @sortorder, @DisplayColumns, @UseCategoriesList, @DefaultFolder, @CategoriesListName, @AllowUserSort ) SELECT @ModuleId System.Data.SqlClient.SqlException (0x80131904): Invalid column name 'DefaultFolder'. Invalid column name 'CategoriesListName'. Invalid column name 'AllowUserSort'. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource
1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteScriptInternal(String connectionString, String script) ClientConnectionId:16443592-7ca4-4559-89ef-0d2f178a4b32 Error Number:207,State:1,Class:16 CREATE PROCEDURE dbo.UpdateDocumentsSettings @ModuleId INT, @ShowTitleLink BIT, @sortorder NVARCHAR(2000), @DisplayColumns NVARCHAR(2000), @UseCategoriesList BIT, @DefaultFolder NVARCHAR(2000), @CategoriesListName NVARCHAR(50), @AllowUserSort BIT AS UPDATE dbo.DocumentsSettings SET ShowTitleLink=@ShowTitleLink, SortOrder=@sortorder, DisplayColumns=@DisplayColumns, UseCategoriesList=@UseCategoriesList, DefaultFolder=@DefaultFolder, CategoriesListName=@CategoriesListName, AllowUserSort=@AllowUserSort WHERE ModuleId = @ModuleId
Currently the Owner List is just a list of all users, unsorted. This should be sorted by Display Name
The following error is displayed post-upgrade from older versions (in my case 3.1.6) of the module.
AbsoluteURL:
DefaultDataProvider:DotNetNuke.Data.SqlDataProvider, DotNetNuke
ExceptionGUID:ee3fa721-672d-458b-b3f4-61771cf3a268
AssemblyVersion:
PortalId:-1
UserId:-1
TabId:-1
RawUrl:
Referrer:
UserAgent:
ExceptionHash:tDqB15mhfcSYMuHyBRe0uQ==
Message:The type initializer for 'DotNetNuke.Modules.Documents.DataProvider' threw an exception.
StackTrace:
at DotNetNuke.Modules.Documents.DocumentController.GetDocuments(Int32 ModuleId, Int32 PortalId)
at DotNetNuke.Modules.Documents.DocumentController.GetSearchItems(ModuleInfo ModInfo)
at DotNetNuke.Services.Search.ModuleIndexer.GetSearchIndexItems(Int32 portalId)
InnerMessage:Value cannot be null. Parameter name: type
InnerStackTrace:
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at DotNetNuke.Framework.Reflection.CreateObject(String ObjectProviderType, String ObjectProviderName, String ObjectNamespace, String ObjectAssemblyName, Boolean UseCache, Boolean fixAssemblyName)
at DotNetNuke.Framework.Reflection.CreateObject(String ObjectProviderType, String ObjectNamespace, String ObjectAssemblyName)
at DotNetNuke.Modules.Documents.DataProvider.CreateProvider()
at DotNetNuke.Modules.Documents.DataProvider..cctor()
Source:DotNetNuke.Modules.Documents
FileName:
FileLineNumber:0
FileColumnNumber:0
Method:
Upon closer investigation it was determined the old DotNetNuke.Modules.Documents.SqlDataProvider.dll was left in place during the upgrade. It should have been removed.
The upgrade "completed successfully" from 3.1.6 to 6.2.5. No errors were displayed during the module upgrade. All success messages. However, upon trying to update a module instance's settings, changes would not "stick". Also, errors are thrown when attempting to add, update or delete a document.
Upon closer investigation, we discovered all the old stored procedures were still in the database and they had in fact not been updated to the new ones during the module upgrade. We also discovered three columns were supposed to have been added to the DocumentsSettings table.
Therefore, we ran the following:
ALTER TABLE {databaseOwner}[{objectQualifier}DocumentsSettings]
ADD DefaultFolder NVARCHAR(2000) NULL,
CategoriesListName NVARCHAR(50) NULL,
AllowUserSort BIT NULL
Then we were able to run the script found in Install.06.00.00.SqlDataProvider. Now everything works as expected!
@mitchelsellers if you would like for us to submit a pull request, please let us know your preferred way of handling this scenario and we'll be happy to contribute to the project.
To support operations without running Side-By-Side runtimes, support native compiled.NET 4.0
Hi Mitchell,
I just got word that this module does not work with DNN 9.2.0. I am not sure if you are still developing it, but I figured I would pass this info along.
Message:Could not load type 'DotNetNuke.Services.FileSystem.FileController' from assembly 'DotNetNuke, Version=9.2.0.366, Culture=neutral, PublicKeyToken=null'.
StackTrace:
InnerMessage:Could not load type 'DotNetNuke.Services.FileSystem.FileController' from assembly 'DotNetNuke, Version=9.2.0.366, Culture=neutral, PublicKeyToken=null'.
InnerStackTrace:
at DotNetNuke.Modules.Documents.Document.LoadData() at DotNetNuke.Modules.Documents.Document.Page_Load(Object sender, EventArgs e)
Initially Submitted Via CodePlex:
I use the documents module all the time on our DNN 7.1 CMS to manage .pdfs and other documents. We're expanding all the time and our 70 or so clients each have a page on their site called the Reference Center which calls about 8-16 document modules to display 30-60 documents between them.
It is no trouble to upload all of the documents to the file manager. However it is incredibly time consuming to add documents from the file manager to the documents module. I have to click the "Add New Document" option for every file I want the user to see on our page.
Is there anyway to expand on the functionality of the documents module such that a user can select multiple files to add from the file manager to the document? I'm afraid I've no head for programming and I'm not sure where to go next. The kind folks of the DNN forum pointed me in your direction ale the link below.
http://www.dnnsoftware.com/forums/forumid/199/threadid/521005/scope/posts
Thank you in advance!
Zack Robinson
When updating a document the "CreatedByUserId" is used rather than ModifiedByUserId. This should be resolved for proper change tracking
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.