Web document management and sharing platform
For features, downloads, screenshots etc, visit project page: http://www.kloudspeaker.com/
Document management system
License: GNU General Public License v2.0
Web document management and sharing platform
For features, downloads, screenshots etc, visit project page: http://www.kloudspeaker.com/
Clicking on any file in the search results list I get the following error
TypeError: that._customFolderTypes[that._currentFolder.type].handleAction is not a function
return that._customFolderTypes[that._currentFolder.type].handleAction(ac, item, ...
in kloudspeaker.full.min.js row 19625, col 19 (got with Firebug 2.0.9).
As a result, nothing happens when clicking on any search result row (I expect to be able to download the file). Btw, the search operation and result list are ok.
I'm using php 5.4.3, Firefox 38.0.1. Same issue with Chrome 43.0.2357.65 m.
Any sugestion?
Thanks
Tommaso
I noticed a bug, coming when viewing thumbnail in Thashbin folder. I think it is important to be able to view thumbnails while in trashbin. But admin user can view thumbnails ! Only some rights pb somewhere ..
KLOUDSPEAKER ERROR: ServiceException: INVALID_REQUEST=Trash access not allowed
Still another remark for trashbin: since the trashbin is now implemented, the deletion confirmation message should be canceled (with an tuning option).
And about the quota for trashbin, a simple thing could be adding an option for users like "keep_files_in_trashbin = number-of-days", and you would clean the trashbin at each user connection ? So no need for cron or admin action ..
When an end user creates a new share, he cannot see any difference on the main file view, because an automatic refresh is missing, which is necessary to make the icon-external-link appear.
And the share creation process is a bit complicated for end user (enf of the end, the baddest..;): what would be good for these is as Dropbox, just one click to create everything. So near the button which label is shareDialogShareAddTitle, another button 'Quick share creation' that would do everything by default and would be in first position, making everything easier. Then why not automatically copy the new share link in the clipboard ?
And same idea for sending quickly that new share link by mail: a button near 'show/hide link' called 'email to' ?
KLOUDSPEAKER ERROR: PHP error #8, Undefined variable: size (/home/files/public_html/backend/include/filesystem/FilesystemController.class.php:1166)
Uncaught TypeError: app.showFullView is not a function in access_password.js:39
In the KloudspeakerExternalInterface.class.php, addUserToGroup() function "!" is missing.
Should be $g = !is_array($gr) ? array($gr) : $gr;
Hi, I installed kloudspeaker on centos 6.5 with apache web server following instructions in the wiki and I have a js error "session is not defined" when I try to upload a file (as admin user). I'm trying with firefox and chrome on lubuntu and I have the same behavior. Someone can help me please?
Thanks
Is it possible to send automated email upon user creation (from admin panel) to the email specified in the newly registered user profile?
I installed Kloudspeaker successfully but there doesn't appear to be a login page.
When uploading a file, if the file is larger than the limit set in php.ini, the upload fails and the following message is displayed: "File upload failed". This message is not really very helpful.
My suggestion: When loading the app, get the upload limitations imposed by php. Use this to compare against the file size before uploading and present an error if it's too big. You'd also have to compare against the maxChunkSize for the uploader.
When just view a txt file, the viewer popup stays empty an I have this error:
PHP Fatal error: Call to undefined method TextFileViewer::getItemContent() in backend/plugin/FileViewerEditor/viewers/TextFile/TextFile.viewer.php on line 45
So I've compared with the previous one and here is the diff (the first is working, not the second):
diff -r TextFileOK/TextFile.viewer.php TextFile/TextFile.viewer.php
44,45c44,45
< // read file
// read file $stream = $this->getItemContent($item);
52c52
< return "<title>".$item->name()."</title>".$head."".$html."";
return "<html><head><title>".(is_array($item) ? $item["name"] : $item->name())."</title>".$head."</head><body>".$html."</body></html>";
56c56
< $ext = $item->extension();
$ext = (is_array($item) ? $item["extension"] : $item->extension());
As admin, currently it's very difficult to find when a particular file has been downloaded in events list.
It seems to me necessary to add a filter by filename or filename part, that is really more important than a date filter. And add more infos on events list.
When you select a collection, the 'icon-cog' icon should always be displayed. It's difficult for users to imagine how they can manage a collection if they don't see that icon, and to make it appear you are obliged to move the mouse on the right part of the selected collection name. I think that icon should be permanent on the selected collection.
I configured the use of the plugin as stated in the wiki but, I can't make it work. it just doesn't seem to create an instance , no errors either, I'm using a copy of the master
So what account actually can auth? How do you setup auth.. I placed the files where they are suppose to go.. I hit /backend/dav with browser but auth doesn't work.
says defaults to digest - is there something else need to setup?
I don't see anything in configuration about having to enable the plugin in configuration.php, etc.
Dear all.
How do i upgrade to the latest version?
Thanks
nic
Is it possible to enable thumbnails and if in large icon view display specific image based on folder name as icon vs generic folder icon?
When making a search, the search is made in file names, in descriptions or comments, really great feature, especially it looks the search inside elements as a substring !
But when the result displays folders, when entering into a folder the 'search mode' is lost. It would be smart to have somewhere a button 'Back to search'. The best would be to stay in 'search mode' forever until exiting that mode, but that might be really more complicated to code, also a simple button in the toolbar would be easier.
By the way, it should be good to show a better way the search mode, as for example:
float: left;
clear: both;
margin-left: 12px;
**padding-bottom: 20px;**
**font-size: 14px;**
**font-weight: 600;**
}
I am looking for another action "email" to send files by email as attachment. I took some time to find out, however I have trouble to get file direct path to attach. Is there any way to get this?
We did an upgrade/migration from Mollify 2.1.6 -> 2.6.7 -> Kloudspeaker 2.6.15 and passwords does not work any more. In the AuthenticatorPW.class.php support for legacy passwords is missing.
When input a new file description, an automatic refresh should me made to see it.
When I try to upload a file, select the file with the tool and I click OK, but the file is not loaded.
If I try twice in a row the file is loaded.
And checked if a permissions problem and everything seems to be correct. Please note that the file is uploaded when I try twice.
Any ideas ?
Hi,
Will it be possible to follow URL links in a any file extension, file type which is supported presently?
Thanks
LC
Is there a way to not show some file types, for example .txt or .php not to show those files that might be in the path where other files are shown.
Does Kloudspeaker support resuming file uploads. If this is not supported would it be possible for you to implement the resume feature discussed by Sebastian Tschan.
https://github.com/blueimp/jQuery-File-Upload/wiki/Chunked-file-uploads
Reading the wiki: "Using Google Viewer requires that files can be accessed from internet (as the Google service needs to download the file). When Kloudspeaker is used in a closed network (ie. intranet), this viewer cannot be used."
So, how can I use the pdf preview in a closed network?
Thank you
Administrator can not edit not his own shares. Browser returns error:
Uncaught TypeError: Cannot read property 'share' of null in /backend/plugin/Share/client//repository.js:14
i cant get comment and register to work in last version 2.7 this is the issues:
register :
TypeError: app.openPage is not a function
app.openPage('registration/new');
comment plugin :
TypeError: that._timestampFormatter is undefined
comments[i].time = that._timestampFormatter.format(utils.parseInternalTime(comme...
A trash can or recycle bin that collects deleted files from users. The trash can should only be accessible by the admin and gives the option of permanently deleting the file(s) or restore them to their original position before they were deleted by the user.
This helps if a user accidentally deletes a file and allows the admin to recover it.
On a fresh install, when language.default
is set to es
, KloudSpeaker 2.7.1 fails to start with Failed to initialize Kloudspeaker
error.
English, French, Hungarian and German languages are not affected. localization/texts_es.json
is present and fetched by the browser. The JSON language file is valid (according to jsonlint.com) Reproduced in both latest Firefox and Chrome.
Thank you for your time in this useful piece of software!
I notice 2 problems in the logs:
However I've tried to edit an HTML file and it seems working ..;)
As of version 2.6.12, adding users to a folder or a group who is assigned to a folder is only used by Kloudspeaker to enumerate the list of assigned folders for use in displaying the folder list at the top left. It does not use the folder assignments to actually restrict access to the folder or items inside of it.
I have a new installation which has an admin and two demo accounts:
There are four test folders created:
Each test folder contains a single text file with a single line of text:
The demo1 user has been assigned to folders TEST 1 and TEST 2 while the demo2 user has been assigned to folders TEST 3 and TEST 4:
Logging into Kloudspeaker on two different computers I find that the folders get the following URLs:
TEST 1 - https://ks-test-1/?v=files/5589ec618d41d
TEST 2 - https://ks-test-1/?v=files/5589ec6193440
TEST 3 - https://ks-test-1/?v=files/5589ed694435f
TEST 4 - https://ks-test-1/?v=files/5589ed694e5b3
The MySQL item_id table corresponds:
On a completely unrelated third computer that has never been used to login to Kloudspeaker I login using the demo1 account that should only have access to TEST 1 and TEST 2. As expected only TEST 1 and TEST 2 show in the sidebar:
Now that I am logged in I open a second tab and enter the URL above for TEST 3. The demo1 user should not have access to this folder. However, it comes up anyways:
It isn't just for show either, the file can be successfully downloaded and opened:
Now of course a user would need to know the file ID of the folder or file to access in advance. This is relatively trivial for two reasons:
A user still needs to have a login to Kloudspeaker to exploit this bug. Furthermore the user needs access to just one other folder, it doesn't matter what the other folder is. If no folders are assigned to the user nothing shows up. Of course if the user has a Kloudspeaker account chances are basically 100% that they have access to some other folder. This same bug can be extended to the download URLs. If someone gets the download URL for a file (for example: https://ks-test-1/backend/r.php/filesystem/5589ed6981d11) the same thing applies. As long as a user has access to at least one folder on Kloudspeaker they can use any download URL without restriction.
I think the fix for this should be fairly simple. First off consider that there are two possible vectors for exploiting this:
Regardless of the vector, a reference to the file ID is included in the URL. Lets use https://ks-test-1/backend/r.php/filesystem/5589ed6981d11 for example which has a file ID of 5589ed6981d11, which corresponds to TEST_FILE_3.txt which I used earlier in screenshots. The demo1 user which I was logging in with during my example has a user ID of 2. Using only the file ID and the user ID of the logged in user we can use existing database information to find out if the user should have had access.
Using the item_id table in the database we can discern that the path is 10:/TEST_FILE_3.txt. The "10" at the beginning of the path is the folder ID from the folder table in the database. Using the user's known user ID of "2" we can reference the user_folder table. No results are returned from the query "SELECT * FROM user_folder WHERE user_id = 2 and folder_id = 10" and as such access should be denied.
This logic could be used during every folder access and also during every download attempt to see if the user should actually have access and block them if necessary.
As a simple cp command line, how to upload a file in a special root folder ?
As for example:
=> mollifycopy -u username /tmp/srcfile.txt rootfolder:/folder
(would copy the /tmp/srcfile in folder under rootfolder as specified user, no need of password)
It would be nice to share an entire folder via public link-sharing for downloading (also with the option to compress certain subfolders or the entire shared folder for downloading).
Additionally to share a collection of files with the option to view them before downloading them entirely as a zip-file would be great!
Can someone post a example of index.html with working comment plugin. I have the plugin added to configuration.php and ran the updater. Just can not get working.
In my installation, I have multiple administrators. When reviewing my user list, I frequently have to determine who created a particular user account. This can be accomplished by searching the event logs, but this is tedious. To make this easier, I added a column named 'creator' to the 'user' table. When a user is added, it populates this column with the username of the administrator adding the user. I added a column to the users table to display the 'creator' username. Now when I'm wondering about a particular user account, I know who to ask about it.
It would be great if this feature was implemented in the main branch. Others may find it useful and it would save me time when updating my installation. I can provide my code if you'd like.
Download a selected File is not possible with with IE 11, Firefox and Edge. Crome works.
Error Message in web console:
"fs" ist undefiniert" (fs is undefined) kloudspeaker.full.min.js, line: 25, column: 20349
Kloudspeaker 2.6.15 (rev. 27)
Latest Version of Firefox,IE 11 and Edge
When adding a new user, it would be useful to (optionally) create a new folder with the same name as the user and assign it to that user. When removing the user, there should also be an option to remove their associated folder.
When creating a new folder for a user, the system should ensure that a folder doesn't already exist with that name. If it does, the system could append "_1", "_2", etc.
When deleting the user's folder it should also be removed from the filesystem. The system should ensure that the filesystem path isn't referenced by any other published folder before deleting the path. If the path has multiple references, an error should be thrown with the option to remove the user but not delete the folder from the filesystem.
I have already implemented some of this in my installation, and I can provide the code if you'd like.
I was thinking of using Kloudspeaker as a way to distribute very large files (10GB) to end users. The catch is that many of the end users have internet connections which are unstable at times. To this end the platform we use has to support resuming of file download. Would it be possible at all to add this?
Moved from sjarvela/mollify#18
I'm using WinSCP, when I add a file from UI, the quota is well recalculated, but not when I delete it.
Same with WebDAV.
Everything is ok when I click your very new useful quota button recalculation.
The Archiver plugin is broken because some of the file names still contain "Mollify" instead of "Kloudspeaker". Rename the files the following folders:
backend\plugin\Archiver
backend\plugin\Archiver\zip
When removing a single folder, there is a check box on the confirmation message labelled "Delete folder content". Selecting this check box will delete the corresponding folder from the filesystem.
There are two problems with this functionality:
I have already implemented this in my installation, and I can provide the code if you'd like. It just makes it a pain to update my installation.
There is another problem that I've just discovered. Consider this scenario: a user named "manager" has access to a root folder located at /some/path/usersfolder. Within that root folder there are other folders: /some/path/usersfolder/user1, /some/path/usersfolder/user2. Now these folders are also published as root folders to specific users. The problem is that the "manager" user can delete those subfolders, even though they are published as root folders, and this causes a problem for the other users of these folders.
Using sqlite as backend storage, the following error occurs when trying to enable the trash bin plugin:
Update failed
Error reading sql file (plugin/TrashBin/sqlite/install.sql)
It would be good if public share download would only start after clicking "download" button and not immediately as it is now. This would make kloudspeaker more compliant with Google's Unwanted Software Policy https://www.google.com/about/company/unwanted-software-policy.html :
"Download of the software should only begin when the user has consented to the download by clicking on a clearly-labelled download button."
So update went smooth, and know on the latest version because the new ignore file type is working but is there anywhere to actually see info about the install, like version, maybe some items out of the configuration file like database, etc.
I don't see an about anywhere, would be nice to be the configuration menu maybe?
Kloudspeaker latest (2.7.2) fails to create a new user when /dev/urandom
is not accessible to PHP due to open_basedir
restrictions. The action will fail with a generic error message (which I don't provide because I'm using a translated version; giving an additional error code would be useful in the future for this purpouse).
When creating a new user I'm getting the following message embeded in the detail
property of a JSON response:
PHP error #2, is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): (/var/www/vhosts/xxxxxxxxx.es/:/tmp/) (/var/www/vhosts/xxxxxxxxx.es/yyyyyyyyyyyyyy/backend/vendor/phpass/PasswordHash.php:78)
As I don't want to fiddle with my open_basedir
configuration, which I consider valid, I have commented the following lines in PasswordHash::is_devurandom()
, which solved the issue for me:
function is_devurandom() {
if (Logging::isDebug()) Logging::logDebug("/dev/urandom: ".($this->no_devurandom ? "0" : "1"));
if ($this->no_devurandom) return FALSE;
if (Logging::isDebug()) Logging::logDebug("Trying /dev/urandom");
// try {
// if (@is_readable('/dev/urandom')) return TRUE;
// } catch (Exception $e) {}
if (Logging::isDebug()) Logging::logDebug("/dev/urandom not accessible");
return FALSE;
}
If user has a "read only" access he can still see "Copy" in drop down menu. Truing to Copy in this case results to an error message.
After installing Kloud Speaker for test in local. Trying to access to it with http://localhost/kloudspeaker/
On IE and Firefox ESR. i only have blank page
Hello,
In the documentation, you mention several times that when a plugin is installed (like share), we should run the update util after we performed the modification.
How can I run the update utility ?
I tried to access to the /backend/update/index.php but it says that nothing needs to be updated and my changes are not taken into account...
Is there something I missed ?
Many Thank and sorry for the possible dummy request...
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.