Something I've been wondering. Is there a best practice or rule of thumb on how to store your images? I see 3 ways currently:
Site Collection Images
Images library
Style Library/Images
My rule of thumb has been: if you have only 1 site collection for your project, then use the Site Collection Images. Otherwise, create a folder structure like: /Style Library//images.
What is the difference between Site Collection images and the Images library?
Images lib provides a thumb view by default while the Style lib/images just treat images as files.
Site collection images? I think it's just another name of the Style lib/images of the top site.
Site Collection Images is a carry-over document library from the 2007 Publishing Feature. It's a document library but with multiple content types assigned to it (Image, Audio, Video). There's a thumbnail view associated with some of the content types so you get a nice preview of an image.
Images is a new library called and Asset library but in reality and behind the scenes, it's exactly the same as the old Site Collection Images document library with the three custom content types assigned to it. The only difference I can see is the icon used for the library.
Style Library is just a regular document library with no content types associated with it. It's created as part of the Publishing feature and pre-populated with some basic images, css files, and xsl style sheets (that are used with the DataView Web Part).
My standard (if you want to call it that is this).
A new folder for your site in the Style Library (sitename) with subfolders of "css", "js", and "img". The reason for this naming is that some libraries, plugins, and other addons will look for this type of structure (with CSS doing a relative path to an "img" folder to look for images). So it keeps things compact and identifable.
I choose to put CSS, JavaScript and Images here rather than creating separate libraries for it all. CSS is for (obviously) style sheets. JS is for javascript. This would include jquery (in the root js folder) or jQuery plugins (in a separate folder for each plugin). IMG is for CSS icons, system icons (e.g. twitter badges, etc.). I find this layout just handy and doesn't hurt anything keeping it all together.
I put regular photo content into Site Collection Images since a) it gets automatically populated when you create a publishing site or activate the feature and b) it's easy to find when inserting pictures into a rich content field. I'll just hide or tell the users to ignore the Images library (it can't be deleted because it's part of the Publishing Feature).
Hope that helps. YMMV.
I'd add that the style library is also different in that it's contents are readable by all users even if you have removed their permissions to the library or an item within the library.
Related
How i can create a left navigation panel in AsciiDoc?
like this one here https://docs.asciidoctor.org/asciidoc/latest/
not a list of contents.
Thanks.
The navigation pane in your screenshot includes links to many HTML files. asciidoctor doesn't have any built-in facility for generating multiple HTML files from an Asciidoc markup file.
To do that for your own Asciidoc content, you need a tool that processes many Asciidoc files and generates an entire site. Such tools are called static site generators. There are many, and quite a few support Asciidoc markup, including Hugo, Jekyll, and Eleventy.
The Asciidoctor documentation was generated with a tool called Antora, which was created by the author of asciidoctor. Its goal is to specifically support generating technical documentation web sites (and eventually PDF documents) from Asciidoc markup.
Many companies with large sets of technical documentation use Antora. This page lists the companies and sites using Antora, plus public repos with the implementations (where available).
Using Gulp and Node.js, I'm creating a proof of concept that generates sprites from folders of images, then versions the generated sprites so they have unique file names for cache busting purposes.
I'm using https://www.npmjs.com/package/gulp-rev to version the sprites (this works!), but I'm having trouble updating CSS files with references to the images. There are some tools that I have looked at for this purpose but I haven't been able to get them to work. The two that I have look at are:
https://github.com/jamesknelson/gulp-rev-replace
(Seems fully featured by can't figure it out)
and..
https://github.com/galkinrost/gulp-rev-css-url
(Got working but couldn't separate the destination for the revisioned images files and the updated CSS with the new images names)
Essentially I want to grab all the images from gulp-image-versioning-poc/images/sprites/*.png and then version them, put the resulting images in gulp-image-versioning-poc/dist/ and update the references to those images in gulp-image-versioning-poc/css/*.css
I've created a simplified example of what I currently have here:
https://github.com/olthof/gulp-image-versioning-poc
If anyone could help me tackling this problem I would be very grateful!!!
I'm creating a SharePoint site which will be used to dynamically store and display documents on various pages, among other things. Is the following possible?
My view is to have one central Document Library which will include all files. Files with have 'tags' or 'metadata' attached to them. On pages, i will add a document library (or similar) webpart and then call only those documents with a certain tag/metadata.
For example.
Document Library ('Folder') - Contains ('Project Document.xls' and 'Training Document.ppt')
On 'index.html' i will add 'Folder' to the page, but i only want to display 'Project Document.xls' not 'Training Document.ppt'.
I'm aware that you can set up target audiences but that requires a lot of user management.
Thanks for any advice.
If I understand you correctly, this sounds like something you could accomplish using a filter. The name of the file is stored as a column. Try editing the web part on that page and edit the current view. That view will be cached for that page without changing the view across the site. If you want to be able to dynamically choose the document you display then one option is to add an HTML Form web part (which contains a text box and submit button), connect it to the doc library web part and filter the name column based on the HTML Form web part.
I know that a Document Library in SharePoint 2007 has a multi-file uploader (an ActiveX control that -- and only if you have Office 2003+ installed) but how would I use this same feature with a normal (non-document-library) List item?
Uploading files to a normal List item involves clicking the "upload" link and browsing/uploading files one by one. Is there a better way than this? Surely there must be.
Jake
There is an approach I use, but there is no UI support for it. You may find it a bit tedious for onsey-twosey uploads, but it saved me hours once for serious bulk uploads.
The same WebDAV functionality that we get when using "Open with Windows Explorer" on a document library is available for a list.
Say I have a list at http://myorg.com/sites/Widgets/Lists/MyList.
I can open the list in Windows Explorer by going to the address \\myorg.com\sites\Widgets\Lists\MyList.
Attachments are stored in the sub-folder Attachments, which contains folders with numeric names (1, 2, 3, ... and so on). The numbers correspond to the item ID of the list item. Pick (or create) a folder with the ID corresponding to the item you want to upload to, and it's drag-and-drop from there.
Short of writing your own mulit-file upload web part I think you are going to be stuck with either one at a time (i.e. an attachment to the list item) or switch to a document library. Don't forget that you can customise your library to behave much like a list.
Why is it a problem to use a document library?
I seem to be making a habit of answering my own questions. Not sure if that's a good thing or not.
What I ended up doing was adding an "Upload Multiple Files" button to the toolbar which pointed to a custom ASPX page in the _layouts folder. This page displayed the ActiveX component used by a Document Library and the "post to" URL for it was the ASPX page itself. When posted to it looked for files uploaded and attached them all to the List Item referenced via URL parameters passed to it from the toolbar button.
It's discussed here:
http://weblogs.asp.net/nathanyorke/archive/2007/12/05/uploading-multiple-files-via-the-web.aspx
If I get round to blogging and fuller explanation on my own site I'll try and remember to post a link back here.
Jake
In Sharepoint document library, when we create a new document library, the default view is 'All Document'. This one:
We can make a custom view from View > Create View (at the upper right corner of document library view). I created a new standard view and named it 'Chromed View'. I edited it, then I saw that this view only applied on current document library:
The other document libraries cannot use this view.
I develop a system that triggers document library creation from CRM (the document library's view from CRM Iframe is using that chromed view). The creation itself went well, I can create document library using Sharepoint web services. But I still cannot apply a custom view automatically for that newly created doc lib.
My question is, can we make a view that is global (not in one document library only) so that we can use that global view for any document library.
Thanks b4 for any opinion :)
You could also create a new custom document library type, with the view embedded in it. Whenever a new library is created from the new doc lib type, it will get the new view.
This is still a not truly "global" view, and you may have the same problems if the view gets changed (the view won't be updated on document libraries that have been created with previous versions of the view).
One way to do this is to create a feature with an event receiver. When a user creates a list, you can check if the list is of the proper type (101), and then add new views to it. The feature could also add this view to existing document libraries on activation. Shouldn't be too much of an effort.
The view is not truly global. As list definitions are duplicated for each instance, there are no such thing as a global view (afaik) in WSS. We could all hope that views are a part of content type in the next version.
To globally change all document libraries and to change all existing libraries you need to edit the XSLT file that is in the XSL folder in layours/templates
There are a couple of them in there but these are how all the libraries are generated with this u can basically specify how a default"" library would look. Make sure to make a backup for these files though. Also creating a new content type and copying these xlts to a different file name and then linking your content type to these instead could also be a solution so when a user creates a new library using ur content type you can make sure that they are created in a way that you want.