Hide create Button and upload button in alfresco Doclib - alfresco-share

I want to show Create and upload button inside Document Library only, and in document library if I will create any sub folder. Then inside that sub folder I don't want to allow any user to create any folder or upload any document.
Is is possible to do this in alfresco 5.0.d
Please refer below image.
In that image I want to hide that create and upload option. But I want to show both option for specific folder only (i.e Document Library)
Can anyone help me with this?
Thanks in advance.

It's worth remembering that if you just hide the "Create Content" and "Upload" buttons that it won't prevent users from creating content by dragging and dropping files into the Document Library to trigger an upload - nor will it stop the creation of content via other mechanisms such as the mobile client or other APIs like WebDav (if your organisation happens to be using them).
The most effective method to prevent upload and content creation would be to ensure that all folders created at the root of the Document Library do not allow children to be created within them.
If the "CreateChildren" permission on the folders is false then the Upload and Create actions will automatically be disabled without you having to do anything - and this will also prevent drag-and-drop file upload from being possible.
I would suggest that you look at the best approach to take. Again, there are various ways in which this can be achieved - setting folder rules would be one approach (to change the permission on all folders created), overriding the REST APIs would be another option.
However, if you're looking for a less than ideal short cut to just hiding the buttons then you're going to need to extend the toolbar.js code that is used in the Document Library.
This blog post provides information on how you can extend existing JavaScript widgets. The WebScript you're going to want to extend in your case is the "documentlist-v2.get.js" (as of 5.0 this creates both the toolbar and documentlist widgets). It is the "onFilterChanged" function that you'll want to extend so that you can hide the buttons when the new path is anything other than the root folder.

Related

Where I can find Button Override in Change Sets

I want to move standard button override (Clone) on custom object through Outbound change Sets, but I'm unable to find this position in possible changes.
In which category Button Overrides are stored?
Custom buttons and links are listed in change sets under 'Button or Link'. To deploy the Page Layouts to which they are assigned, be sure to add it to the change set under 'Page Layouts'.
If you want to deploy a button overridden with a Visualforce page, you will need to deploy the whole object, the Visualforce page, its Apex Classes, and any components that are in the Visualforce page. In addition, once you have deployed the pages and classes, you will need to go into the new environment and give the appropriate profiles access to them, otherwise navigating to the page will give them an 'Insufficient Privileges' error.
If you want more finely-grained control over what specific metadata components you are deploying (and you don't simply want to do it manually in the target org) then you should consider using the ANT-based metadata migration tool that Salesforce provides. It has some more power and flexibility in terms of migrating sub-components of metadata. Here is a link with a little getting started video for that, and here is the documentation.

Uploading private files?

I want to be able to upload files using django-cms, and have those files only be visible to authenticated users.
I've gotten as far as creating a "Members only" page, clicking "Login required" and selecting "for logged in users only" for Menu visibility ("advanced settings under /admin/cms/page). This gets me some of what I want; the page itself is not visible unless you're logged in. And the menu item goes away too.
But, the next step is a problem. I can upload a file using the "file" plugin. This puts the file under /media/cms_page_media/. Even though you can't see the page which displays the link, you can still get to the file if you have the direct URL to it. What I need is something which not only protects the page, but the files uploaded to it.
I know my way around most (well, some) of django, so I could do a bit of hacking to get a solution. I'm hoping to avoid writing an entire file manager from scratch (not that it wouldn't make a nice little OSS project).
Django Filer (https://github.com/stefanfoulis/django-filer) has this option in the newest release. It also has a nice set of CMS Plugins which add a lot of value over the default File plugin: https://github.com/stefanfoulis/cmsplugin-filer

Web Application and Development

i have two pages:
1st page... let it be adminfileupload page
2nd page... home page(this will be site home page)
i have one folder in solution explorer named images.
what i want to do is
adminfileupload has one fileupload control and a button named update
when any one browse image file with file upload and click the button(update) then the image should be viewed in home page and also saved in images folder. each time we chose a file and click the button(update) the image should be changed. and this image should be background image, i mean i also have to show some data from database over that image.
working in c# asp.net
Do you need to keep the other pictures too?
If not, you could just upload a picture give it a fix name, Then in the home page you could just set the background image the path to the picture and the fix name. If you have trouble overloading the picture(does not write over you should delete the picture first).But this is a simple approach and depending on the browser you test on it might keep the first picture in their temp file.
If you want to keep the other images you need to do some extra work and have a storing mechanism that will keep track of your pictures or a dynamic variable that changes the path of the resources. I sugest you take a look at the ASP.NET Personal Web Site Starter Kit It has a mechanism that implement a random picture on the first page but the pages are stored in sql database.
Happy coding
The best way I can think of to do this is on the button upload click event, store the file to the server folder. At the same time assign a Session variable the name of the file uploaded.
You will need to manage file names that get stored on the server or check if they already exist, or if different users upload the same file name, etc.
So Session("myImage") = currFileUploaded
Then do a Redirect back to the current page to show the image, which will link to the session variable that just stored the file name that was uploaded.
You'll need to check for a post back and hide or show the image as necessary.

Drupal, Views.. how to display views list + complete node, interactively?

I'm using Views in Drupal to show node teasers. I would like now to show the complete node on the left side of my page, nearby the Views, and update it when the user click on a different teaser (better using AJAX).
what's the best method to implement it. I was considering to use a lightbox, but it a bit complex (a lot of complications... such as parsing the content with javascript again.. etc).
See screenshot: http://dl.dropbox.com/u/72686/viewsAndNode.png
Thanks
A quick and dirty approach would be to use an iframe to hold the node content. Users would then be able to switch between nodes without reloading the page, which is I assume your goal. I don't think there is away to achieve what you are trying to do with views out of the box. Have you looked into using panels?
Here's what might be a clean way to do it, of course in drupal there's always many ways to accomplish things.
Providing the content for the ajax call
Install the services module
Setup a service that provides your node as you want it to be displayed
Create the placeholder for your content
Install the Panels Module
Create a empty fixed width panel to contain the node you want to load
Load the view into an adjacent panel
In your controlling view
Add a PHP view header and use (drupal_add_js('script.js')) to add a custom js file to the page. or add this to a custom module, or even your theme.
Re-Write your view node links to help put the js events together
Setup your javascript events
Use add_js to add a custom javascript js file to the page
In the custom js add an event to the view links that will poll the services module and load the node into the placeholder panel
I've solved using the lightbox, and just removing the html code I don't need from the node template with php if the parameter "lightbox=true" is passed with the link.

How can I get Gmail-like file uploads for my web app?

I want to add gmail-like file upload functionality for one of my projects. Can anybody help me with this?
My application is built in vb.net.
I would appreciate any kind of help or guidance.
Thanks
Check out SWFUpload, which is essentially a javascript api to flash's absolutely superior file upload handling capabilities. Best thing out there until the browsers finally catch up.
From link:
Upload multiple files at once by ctrl/shift-selecting in dialog
Javascript callbacks on all events
Get file information before upload starts
Style upload elements with XHTML and css
Display information while files are uploading using HTML
No page reloads necessary
Works on all platforms/browsers that has Flash support.
Degrades gracefully to normal HTML upload form if Flash or
javascript is unavailable
Control filesize before upload starts
Only display chosen filetypes in dialog
Queue uploads, remove/add files before starting upload
Demos
----- iframe upload -----
To start, you want to have an iframe on your page. This is meant for server communication. You'll hide it later, but for now, keep it visible. Give that iframe a name attribute, like "uploader" or something.
Now, in your form, set the target to the iframe's name and the action to a script you have on the server that will accept a file upload (like a normal form with a file upload). Add a link inside that form with the text "Add File". Set that link to run a javascript function which will add a new input to the form. This can be done via the DOM, but I would recommend a javascript library like jquery.
Once the new file input is added to the form, set the blur event of that input to a javascript function that will submit the form and then check it periodically for output. Reading an iframe can be tricky, but it's possible.
Have your file upload script output a "Done." or a filename or something when the upload is complete.
Check it every second or so until there is content. Once you have content, kill your timer and replace the file input with the name of the file (or "File Uploaded") or whatever.
Hide your iframe with css.
From YUI! (Yahoo User Interface), https://yuilibrary.com/yui/docs/uploader/
Multiple file selection in a single "Open File" dialog.
File extension filters to facilitate the user's selection.
Progress tracking for file uploads.
A range of file metadata: filename, size, date created, date modified, and author.
A set of events dispatched on various aspects of the file upload process: file selection, upload progress, upload completion, etc.
Inclusion of additional data in the file upload POST request.
Faster file upload on broadband connections due to the modified SEND buffer size.
Same-page server response upon completion of the file upload.
Totally Free
Here is the gmail uploader clone. This is the exact clone of gmail uploader with some extra facilities. You can see the thumbnails of images after uploading, Drag the thumbnails to change the order and replace any thumbnail. It is done using jQuery.
You can see the demo here. The source code is free to download in a single zip file.
I hope you can easily remove some code and get the desired thing. You may leave comments on the ABCoder blog if you need further help.
For a non-flash solution, you can use NeatUpload. I used it on an extensive project last year with a no-flash requirement. It's very easy to integrate into existing solutions. I thought it was a breeze to work with. Easier, in my limited experience, than working with SWFUpload in ASP.NET. Probably because NeatUpload is built just for ASP.NET.
You may use Flickr Uploader clone instead.
Are you talking about an upload without a full page postback? Take a look at http://www.phpletter.com/Demo/AjaxFileUpload-Demo/, which creates a hidden iframe, copies the input control, and uses the iframe to perform the post to get the file on the server.
If you're looking for the behavior where when the user clicks "attach file" and the file browsing dialog automatically pops up, that can be done via Javascript but doesn't work in FireFox, which has the security precaution of requiring the user to invoke the "Browse" button directly (rather than programmatically through script).
For the "automatic" upload, use Javascript to attach to the "change" event for the "value" property of the the 'input' control so that the will perform when a file has been selected.
Now it has been 2 years, I used the uploadify in my legacy system and it works good. but you need to write some hack code (such like hold the session).
I recommend you use jquery upload, which is pure HTML, no swf, no session problems and really great!
== on 2013, what I wrote:
I am considering which to choose, SWFupload or uploadify .
but on SWFupload's official website , it says that it has not been under active development and the author is hoping someday the SWFupload could revive...
so ... I decided to try "uploadify", which seems supports many options, callbacks with lots of demos. (after checking its source code, I guess the author wraps the "SWFupload v1" and "SWFupload v2" in his "uploadify v3"...)
and there's a full list of this kind of uploaders.
I'd like a little more clarification of "Gmail-like" file uploading.
do you mean how if it sits for a little bit, it automatically attaches it to a draft?
Gmail's code is difficult to find your way around, but if I had to guess, this is how it works:
When you click "attach another file", it inserts a regular input type file control. On IE, it may also programmatically trigger the click event on the "browse" button so the file dialog opens immediately (it doesn't do this on firefox, and I don't have IE handy, but I believe IE allows for this)
After you select a file, it detects the change event of the input control, and starts a timer.
When the timer triggers, it detaches the input element from the form, and adds it to a different form in a hidden iframe, placing a simple link in the main (visible) form. The hidden iframe is then submitted to upload the file. (It may also clone the input element, but I haven't tried whether this works.)
You can use iFrames for this

Resources