owncloud / core Goto Github PK
View Code? Open in Web Editor NEW:cloud: ownCloud web server core (Files, DAV, etc.)
Home Page: https://owncloud.com
License: GNU Affero General Public License v3.0
:cloud: ownCloud web server core (Files, DAV, etc.)
Home Page: https://owncloud.com
License: GNU Affero General Public License v3.0
Verifying bug http://bugs.owncloud.org/thebuggenie/owncloud/issues/oc-1248 on 4.5.0 I tried to follow exactly his procedure. But after I created the local mount point (pointing to /tmp) the whole ownCloud instance stopped working. After I manually deleted the mount.php config file it started working again. Trying a second time made it stop again. The complete instance was stopped, the sync clients for a normal users as well as the web frontend and the mobile apps.
.log and .txt appear as folders in the android and iOS clients. After investigating the clients, we think it is a server side issue, where those specific filetypes are not recognized properly.
When I share a folder with user john, install the sync client on john's pc and share the / folder, I see the shared folder in 'shared'. This is normal, of course.
When I create a folder in that folder, syncing fails on the server and the folder is not created:
Oct 22 15:03:08 2012 error 89.188.25.162 PHP Warning: filesize(): stat failed for /var/www/owncloud/data/admin/files/Bedrijfsinformatie/piet in /var/www/owncloud/lib/filestorage/local.php on line 45 Oct 22 15:03:08 2012 error 89.188.25.162 PHP Warning: filemtime(): stat failed for /var/www/owncloud/data/admin/files/Bedrijfsinformatie/piet in /var/www/owncloud/lib/filestorage/local.php on line 61 Oct 22 15:03:08 2012 error 89.188.25.162 PHP Warning: filectime(): stat failed for /var/www/owncloud/data/admin/files/Bedrijfsinformatie/piet in /var/www/owncloud/lib/filestorage/local.php on line 58
If I then create a file in that folder "piet", it says:
Oct 22 15:03:08 2012 error 89.188.25.162 PHP Fatal error: Call to undefined method OC_Connector_Sabre_File::createFile() in /var/www/owncloud/3rdparty/Sabre/DAV/Server.php on line 1482
Current version: 4.5.0, mysql.
Reproduction steps:
create users sharer and user1.
create folder as sharer: 'sharethis'
share with user1
use user1's sync client to create a folder in sharethis.
webserver error log: see above.
And
create users sharer and user1.
create folder as sharer: 'sharethis'
share with user1
use user1's sync client to create a folder in sharethis.
create a file in that folder.
When the client syncs, the file is deleted from that folder. This prevents creating files in a shared folder.
In non-Linux environments, the current deployment format sometimes isn't that convenient to the user:
Downloading and extracting a .tar.bz2 archive on a local machine surely isn't be a big deal --
but for uploading the new instance to an ownCloud Server where you don't have root access
(e.g. on a Webspace), you have two choices:
The first option is VERY slow, so the second option is the preferred way.
=> So it would be nice if there would be provided a ready-to-upload zip archive by ownCloud.org
to save effort and time... -- Thx :)
In 4.5.1a and 4.5.0 it isn´t possible to share an folder that should be password protected.
Sharing without a password is possible.
When trying to access a password-protected folder, the password query is shown. After entering the password an errorpage is showing. Saying: "Cloud nor found"
Cross posted as recommended in owncloud-archive/apps#18 (comment) .
It has been proposed in przybylski/owncloud-android#2 to
OC needs a thumbnails API for files app so the clients such us the android one can show them when exploring files without having to download the entire files by the client in order to create thumbnails.
Imagine a user with hundred of images inside a folder named as IMG06258.jpg who wants to download that nice pic of his trip and don't want having to remember crappy file names nor having to download file by file to find it.
Dropbox solves this problem nicely by having an API for thumbnails:
https://www.dropbox.com/developers/reference/api#thumbnails
but the answer there was
this is feature request for owncloud android client would just use this api. You should make feature request for picture api here.
Done herewith.
When sharing using a link, the link doesn't get urlencoded. When using this link in different browsers (e.g. MSIE and Chrome), the link gets urlencoded by the browsers in different ways depending on the actual language settings.
This happens when using german umlauts in filenames or foldernames.
I would suggest using the pathhash as link instead of using folder/filename. This would prevent all possible problems with spaces, umlauts, different language encodings, etc.
Uploaded 1 file with the name of another file already there in the web interface creates a nice dialog. But if you upload 2 files that are there, the dialog only asks about the first one. The other(s) are all given the "(s) designation. They should all prompt the user for a decision on what to do.
There is no displayed username when you are logged in to a server in the ownCloud Desktop Client. It could be good to have it show up on the bottom of the status window, next to (or under) the URL and the sync directory.
We are working on a bug related with special characters used in the password field. We need some help because we don't know exactly how it works on the server side.
We use wireshark to analyze what the apps send to the server.
Here is an example:
Username: pepe Password: ñ
What is send to the server is the following:
Authorization: Basic cGVwZTrx Credentials: pepe:\361
The authorization is on Base64 (http://en.wikipedia.org/wiki/Basic_access_authentication), separated using ":"
Converting cGVwZTrx to plain text (http://www.motobit.com/util/base64-decoder-encoder.asp) you get pepe:ñ.
We think that the problem coud be with the translation to plain text and related with the encoding used in the server side.
Could you please put us in touch with someone that could help us with this issue?
http://bugs.owncloud.org/thebuggenie/owncloud/issues/oc-2098
Sometimes when I login, owncloud decides to to a scan of my entire documents.
Stracing the process I see writes to
/DataVolume/software/owncloud/data/owncloud.db
and /DataVolume/software/owncloud/data/owncloud.db-journal
and //sbin/file
and //bin/file
and //usr/bin/file
and the actual files.
However, this prevents a login for 30 minutes and does not indicate what it is doing (I am just guessing this is indexing, please correct me if I am wrong.) The browser just shows "connecting ...".
This happens every several days when I update my owncloud checkout which is running directly from the cloned git repo.
Entering a a search term into the search box in the upper right hand corner, the results are displayed in a list.
However, the first label there is "Files" it should be translated to "Dateien"...
From the mobile clients we are working on the rename folder feature. By testing it, it seems that all possible scenarios work ok but one. This is the case when we rename a folder just by changing one letter either from capital to lower case letter or oppostite (from lower-case to capital)
To reproduce it
1.- We select the option rename folder and change a capital letter to a lower-case one (for example, Name to name)
2.- The mobile devices keeps waiting from the server answer, however, after 5 minutes there isn't any
Having a look at ther server side to see what is actually happened, we check that the file name has been correctly changed, We haven't detected anything on the server logs.
On the other hand, we have done another test, once we have selected to rename a folder from the mobile client and being connected to this server and account with a web client, if we refresh the web client, we can see the folder renamed not only on the web client but also on the mobile client.
We think that the problem could be related to the server side due to the lack of a server answer, does it make sense?
Hi,
Some of the contact and calendar icons are missing. The contact icons like "add", "import" and "settings" are not shown. Same for the calendar icons.
I´m using the latest owncloud release with Firefox 16.0.1. The issue can be reproduced on all IE versions as well.
Might be something with the SVG support?!
regards,
Chris
It would be nice to add the svg support as a default in the .htacces file. Following lines should do that:
AddType image/svg+xml svg svgz
AddEncoding gzip svgz
Also described in this issue: owncloud-archive/apps#17 (comment)
This is my issue to test the issue tracker.
Apparently I can add some labels that will solve the challenge between the various repositories.
With a WebDAV client, when trying to create a folder or move a file in a directory that is shared from another user, ownCloud responds with 405 Method Not Allowed. All permissions are granted to the users that have access to the shared folder, but none of them can create folders or move files that are located in the shared folder. However, it is possible to copy a file from one folder to another, and then manually delete one of them afterwards. Sort of like a "manual" move operation. But since we try to avoid manual labor as much as possible, it would be nice if the move operation could be fixed :-)
These things work perfectly fine when you're working on your own folders. It's just the shared ones that are problematic.
When creating users/groups in owncloud 4.5, can't create groups with any special characters (), for example, doesn't work. It allows you to create them in javascript, but then when you reload the page, they disappear - even if you assigned them to a user.
Better experience would be to allow special characters in group names. Second best would be to disallow special characters in the creation of groups.
In http://bugs.owncloud.org/thebuggenie/owncloud/issues/oc-148 in the comments is a patch to correct some timestamp problem for win7. I close the issue in the old bugtracker.
I tried to reproduce http://article.gmane.org/gmane.comp.kde.devel.owncloud/6035 to open a bug for it.
However, I came to realize that it does not work at all. Setting the expiration date or enabling sharing is saved without an issue.
However, if i open the share menu and enter a password (press the lock icon) this is not saved. Looking at Firebug, nothing is transfered to the server doing so.
However there is no error message and thus I by accident shared without any password at all.
This is FF16 and ownCloud git.
When you create new users in the webfrontend, sometimes after pushing the create-button the page refresh is missing - this seems to be especially the case after you entered users with very long (40+ characters) usernames. Manual refresh always works.
reproduction:
Hi,
there are often reports such as untranslated strings, or code formatting issues.
I think a trivial tag would be great for them, so inexperienced users could solve them.
So nice to have a working bug tracker. Thanks!
from http://bugs.owncloud.org/thebuggenie/owncloud/issues/oc-148
We fixed the part around the time sync (with the patch in the comment), but still have the problem with the webdav connection from windows7. the workaround with the registry-edit is ... a workaround.
The PHPUnit Coverage analysis shows room for improvement:
https://ci.tmit.eu/job/ownCloud-Server%28master%29/cloverphp/lib_public_share.php.html
Please implement php unit tests for following topics:
Feel free to ask questions on the comments below.
I do not know what happens.
But when I press the share button on any file.
My browser is blocked for 5 seconds.
This happens with current git and FF16 as well as newest Chromium.
When you drag a file out of a zip file into another folder inside owncloud, the file is moved instead of uncompressed - which means the archive is changed. I don't think this is a good behaviour.
The files should be uncompressed, and then lateron you can always delete if you want in the archive view.
Following up on the test in #53 I am unable to delete the users created. Pressing the 'X' in the webfrontend removed the line and gives you the yellow undelete-option, but after a manual reload of the page the users are still there.
Please note the usernames are quite long (tested up to 70 chars in length)
Reproduction:
Atm, getUsers and getGroups need to fetch all result rows with a single request. This has some disadvantages, especially a fixed limiit of returned results makes problems. It is possible to fetch the result rows "page by page" with a defined number of result entries per page. However, this requires PHP >= 5.4, as the required functions 'ldap_control_paged_result_response' and 'ldap_control_paged_result' have been introduced only then. Since ownCloud should be compatible to PHP 5.3 the current methods need be retained as fallback solution.
Especially the Sharing dialoig should profit from it, as it already looks for a limited number of results.
The Admin → Users page could benefit, too, given that it will be improved to not show all users from the very beginning (ideas for this: paged results or infinite scrolling, plus filtering).
A side effect is that the search for users is being shifted away from owncloud names to LDAP attributes, i.e. also to LDAP server side. It could lead to some wondering users, because the generated ownCloud name (out of a specified attribute) is immutable – contrary to the LDAP values.
On the other hand it offers better flexibility as mutliple attributes can be included in the search (username, real name, email, ...).
Please generate and publish on the public key servers and in the documentation public keys for your address [email protected] and [email protected] (this one does not exists currently) for responsible submissions of security issues.
Atm, there is no possibility to limit the number/choice of languages. In some cases the admin might want to offer only one or two languages, however. The admin menu could have the list of languages with checkboxes to (de)select the available languages. Also it should be possible to set a language as default.
Moving my http://bugs.owncloud.org/thebuggenie/owncloud/issues/oc-2048
The delete icon moves to the next line, because the string "vor wenigen Sekunden" (few seconds ago) is too long.
Please add "autorun at start option" to setup routine. Or place new option at config menu.
Hi,
in transifex de
or de_DE
are used depending on whether the official form (Sie) or the private one (Du) is used. This is not obvious at all.
Could they be renamed?
@DeepDiver1975 I guess your build bot would have to be adapted.
Thanks
*** Removed by the security team ***
Hi,
using IIS7.5 and OC 4.5.1a, I've got problems with files/folder with umlauts. Same problem since 4.0 betas:
No error when using SLES11 btw., seems definitively related to IIS/Windows.
Thx, Stefan
Admin audit and sharing log work great, dropping info into owncloud.log about what the users are doing, and what is shared when, etc. However, I can't seem to get it to log anything from the mobile apps or desktop clients. Seems any webdav connection bypassing the logging feature?
See: http://bugs.owncloud.org/thebuggenie/owncloud/issues/oc-1384
v4.5.0, PostgreSQL.
When I mount ftp according to instructions (http://owncloud.org/support/custom-mount-configuration/).
I do not choose the option security, but in the apache logs I see:
[11:28:28 2012][error][client 10.20.139.3] PHP Warning: filetype(): Lstat failed for ftps://ftp:[email protected] in /usr/local/www/owncloud/apps/files_external/lib/streamwrapper.php on line 32, referer: http://owncloud.ex2.com/?app=files
[11:28:29 2012][error][client 10.20.139.3] PHP Warning: mkdir(): Unable to connect to ftps://ftp:[email protected] in /usr/local/www/owncloud/apps/files_external/lib/streamwrapper.php on line 14, referer: http://owncloud.ex2.com/?app=files
[11:28:29 2012][error][client 10.20.139.3] PHP Warning: filetype(): Lstat failed for ftps://ftp:[email protected] in /usr/local/www/owncloud/apps/files_external/lib/streamwrapper.php on line 32, referer: http://owncloud.ex2.com/?app=files
Why ftps?
in mount.php:
return array (
'user' => array (
'user1' => array (
'/user1/files/FTP1' => array ( 'class' => 'OC_Filestorage_FTP', 'options' => array ( 'host' => 'ftp.ex.com', 'user' => 'ftp', 'password' => 'ftp', 'root' => '/', 'secure' => 'false', ),),
),
),
);
Since ownCloud 4.5 I'm not able to upload files anymore. The WebUI tells me that the max upload size is 0. Also the admin panel is telling me that the htaccess file isn't working.
IT IS WORKING!
In phpinfo() I can see that upload_max_filesize and htaccessWorking are correctly set. Somehow owncloud isn't able to correctly read them.
when you upload a file and select to overwrite the existing file, it does not create a new version immediately, but creates temporarily for the undo functionality a file (2). If you wait for a while until you reload the page, that file is being synced to the desktop or displayed in the webfrontend or mobile app. Then, after you reload the page, this change is being reverted and a newer version of the original file is being created.
This is confusing.
I propose to change this to the immediate creation of a new version with a notice in the yellow pop-up at the top of the screen telling the user that a new version was created.
Reproduction:
Normally, a message appears if someone wants to upload an existing file. But if you move a file to a direction where a file with the same name already exists, is replaces the original file without a message.
Syncing large files doesn't work for me, and it seems to be a server issue. This is a reposted issue, also in the Mirall list as owncloud/client#19
The large (1.4GB) file uploads to ownCloud 4.5 via the 1.1.1 works client just fine (from windows client on windows 7) and I can see the file in the web client, but the same file will not be downloaded to the other desktop clients.
Tried 2 windows 7 machines, and 1 ubuntu 12.04 machine running the ownCloud client.
Log:
[Tue Oct 23 15:04:14 2012] [error] [client 192.168.1.27] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 445646849 bytes) in /srv/www/htdocs/owncloud/3rdparty/Sabre/HTTP/Response.php on line 146
[Tue Oct 23 15:04:15 2012] [error] [client 192.168.1.27] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 1317734401 bytes) in /srv/www/htdocs/owncloud/3rdparty/Sabre/HTTP/Response.php on line 146
[Tue Oct 23 15:05:14 2012] [error] [client 192.168.1.14] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 445646849 bytes) in /srv/www/htdocs/owncloud/3rdparty/Sabre/HTTP/Response.php on line 146
[Tue Oct 23 15:05:14 2012] [error] [client 192.168.1.14] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 1317734401 bytes) in /srv/www/htdocs/owncloud/3rdparty/Sabre/HTTP/Response.php on line 146
[Tue Oct 23 15:05:19 2012] [error] [client 192.168.1.3] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 445646849 bytes) in /srv/www/htdocs/owncloud/3rdparty/Sabre/HTTP/Response.php on line 146
If, someone, with the sync client, a Folder with the name Shared is created and synced to the server (such as it is inside another folder, like for me), the Shared folder then cannot be deleted. This makes sense for the actual system generated "Shared" folder, but not for a random folder named "Shared". As this is a common name, and ofter appears when you sync first root, and then Shared, needs to be fixed. The only protected "Shared" folder should be in the root ownCloud directory.
I just tried OC 4.5.1 and detected a major regression with the sharing feature.
When USER1 shares FILE1 with USER2, the Shared folder is automatically created for USER2. With OC 4.5.1, however, USER2 is unable to open the Shared folder that should contain FILE1.
Someone reported this in the forums as well (infelicitously in a wrong section):
http://forum.owncloud.org/viewtopic.php?f=3&t=4541#p10736
Like the LDAP regression, I think this needs to be patched and released immediately.
first, unsharing files (by clicking on the X at the right) works fine and as expected.
When you unshare a directory, it does not disappear. instead you keep seeing the 'Shared"-folder plus the "unshared" folders in there. when you then click on a directory (previously unshared) you are dropped into the owncloud root folder.
And you can start over.
Reproduction:
When you want to quickly grab your server log files, easiest way is to copy them to ownCloud, then download them. While I can copy them to /owncloud/data/user/files, when I look at them in the web client I cannot edit them. I changed ownership and permissions to match the other files. I still can't rename them. I can only download and only share them with the option to "share", the update and delete options are gone. I also cannot delete the text file through the web client interface.
SUSE 12.2, owncloud 4.5.0.
If i rename the file at the command line to something that ends in .txt, then I have all of my file options back.
To recreate:
Users can't open the shared directory, it would just reload the page. Here are some of the logs I captured in case it helps.
Apache:
PHP Warning: fopen(/export/owncloud_data/<USERNAME>/files/Shared): failed to open stream: No such file or directory in /export/owncloud/lib/filestorage/local.php on line 112, referer: https://files.domain.tld/index.php
PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 5 database is locked' in /export/owncloud/lib/db.php:736\nStack trace:\n#0 /export/owncloud/lib/db.php(736): PDOStatement->execute(Array)\n#1 /export/owncloud/lib/appconfig.php(95): PDOStatementWrapper->execute(Array)\n#2 /export/owncloud/remote.php(14): OC_Appconfig::getValue('core', 'remote_webdav')\n#3 {main}\n thrown in /export/owncloud/lib/db.php on line 736
[Wed Oct 24 09:23:20 2012] [error] [client 10.10.20.86] DB error: DB Error: "SQLSTATE[HY000]: General error: 5 database is locked"<br />Offending command was: SELECT "configvalue" FROM "oc_appconfig" WHERE "appid" = ? AND "configkey" = ?<br />
[Wed Oct 24 09:23:20 2012] [error] [client 10.10.20.10] DB error: DB Error: "SQLSTATE[HY000]: General error: 5 database is locked"<br />Offending command was: SELECT "configvalue" FROM "oc_appconfig" WHERE "appid" = ? AND "configkey" = ?<br />
OC Log:
{"app":"core","message":"Failed to get existing database structure for upgrading (MDB2 Error: unknown error, _doQuery: [Error message: Could not execute statement]\n[Last executed query: SELECT name FROM sqlite_master WHERE type='table' AND sql NOT NULL AND name!='sqlite_sequence' ORDER BY name]\n[Native code: 5]\n[Native message: database is locked]\n)","level":4,"time":1351094170}
{"app":"core","message":"App \"ownCloud Instance Migration\" (admin_migrate) can't be used because it is not compatible with this version of ownCloud","level":3,"time":1351094180}
{"app":"user_ldap","message":"Bind failed: 49: Invalid credentials","level":3,"time":1351094507}
{"app":"core","message":"DB Error: \"SQLSTATE[HY000]: General error: 5 database is locked\"<br \/>Offending command was: SELECT "configvalue" FROM "oc_appconfig" WHERE "appid" = ? AND "configkey" = ?<br \/>","level":4,"time":1351094771}
{"app":"core","message":"DB Error: \"SQLSTATE[HY000]: General error: 5 database is locked\"<br \/>Offending command was: SELECT "configvalue" FROM "oc_appconfig" WHERE "appid" = ? AND "configkey" = ?<br \/>","level":4,"time":1351094824}
{"app":"core","message":"DB Error: \"SQLSTATE[HY000]: General error: 5 database is locked\"<br \/>Offending command was: SELECT "configvalue" FROM "oc_appconfig" WHERE "appid" = ? AND "configkey" = ?<br \/>","level":4,"time":1351094827}
{"app":"core","message":"DB Error: \"SQLSTATE[HY000]: General error: 5 database is locked\"<br \/>Offending command was: SELECT "configvalue" FROM "oc_appconfig" WHERE "appid" = ? AND "configkey" = ?<br \/>","level":4,"time":1351094831}
{"app":"core","message":"DB Error: \"SQLSTATE[HY000]: General error: 5 database is locked\"<br \/>Offending command was: SELECT "configvalue" FROM "oc_appconfig" WHERE "appid" = ? AND "configkey" = ?<br \/>","level":4,"time":1351094894}
{"app":"core","message":"DB Error: \"SQLSTATE[HY000]: General error: 5 database is locked\"<br \/>Offending command was: SELECT "configvalue" FROM "oc_appconfig" WHERE "appid" = ? AND "configkey" = ?<br \/>","level":4,"time":1351094905}
{"app":"core","message":"DB Error: \"SQLSTATE[HY000]: General error: 5 database is locked\"<br \/>Offending command was: SELECT "configvalue" FROM "oc_appconfig" WHERE "appid" = ? AND "configkey" = ?<br \/>","level":4,"time":1351094955}
{"app":"core","message":"DB Error: \"SQLSTATE[HY000]: General error: 5 database is locked\"<br \/>Offending command was: SELECT "configvalue" FROM "oc_appconfig" WHERE "appid" = ? AND "configkey" = ?<br \/>","level":4,"time":1351094956}
{"app":"core","message":"DB Error: \"SQLSTATE[HY000]: General error: 5 database is locked\"<br \/>Offending command was: SELECT "configvalue" FROM "oc_appconfig" WHERE "appid" = ? AND "configkey" = ?<br \/>","level":4,"time":1351094957}
{"app":"core","message":"DB Error: \"SQLSTATE[HY000]: General error: 5 database is locked\"<br \/>Offending command was: SELECT "configvalue" FROM "oc_appconfig" WHERE "appid" = ? AND "configkey" = ?<br \/>","level":4,"time":1351095579}
{"app":"core","message":"DB Error: \"SQLSTATE[HY000]: General error: 5 database is locked\"<br \/>Offending command was: SELECT "configvalue" FROM "oc_appconfig" WHERE "appid" = ? AND "configkey" = ?<br \/>","level":4,"time":1351095608}
If you drag a file out of a zip, a pop-up box shows up telling you that the file could not be moved. But it is still deleted in the zip-file, while not being stored anywhere. -> DATA LOSS!
This is not 100% reproducible - I had one try where things worked as expected. I had 5 more tries where the file was deleted though.
Reproduction:
php error :
Notice: Undefined property: MDB2_Driver_Datatype_sqlite3::$function in /shares/Public/WWW/WWW-pub/core/3rdparty/MDB2/Driver/Datatype/Common.php on line 1415
reload of the page allows creation of a new instance.
I have the following text on the button to add a field to the contact:
<button original-title="" class="button" id="contacts_propertymenu_button">Feld hinzuf&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;uuml;gen</button>
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.