 I guess, uh, maybe I'll start. Uh, hey, thank you everyone for coming. Um, very happy to, uh, be here in Denver. Uh, I've had a great time here. I don't know about you. Um, I'm kind of wondering, like, just to take the pulse of the room, how many people are currently actively and primarily concerned with, uh, the six sites that they're running and WYSIWYG. Uh, seven, eight. Okay. Um, so, uh, a little bit about me. Uh, my name is Andrew Malice and, uh, I'm a consultant. I freelance. Uh, I'm a bit of a paratrooper. I, I jump in, uh, various situations, try and put out fires, um, save the day. Uh, hopefully maybe save the world a little bit. I am currently actively engaged with, um, uh, Occupy Wall Street and a, uh, large project that we're running here. You may have heard about, uh, called, uh, the Federated General Assembly and I also, uh, support the, uh, tech out of New York City. Um, I also, uh, do non-profit work primarily for, uh, small, um, organizations. And, uh, I am very concerned with usability and, uh, providing them with an experience that allows them to feel comfortable editing content on their website, which is why I've spent so long trying to figure out this whole WYSIWYG thing. Um, so, I'm going to kind of motor through some of these slides and then jump into a demo site, show you some configurations, um, because I think that's probably what is most useful and leave, uh, plenty of time for questions. Um, so I'm kind of thinking, you know, in, in this whole, uh, spectrum that, you know, we've all got some sites and we already have WYSIWYG and something's not working. Like, we kind of want to make it better. So, um, I'm going to outline some modules that you can use and, uh, also, um, some key concepts as you're going through the config to try and think about, you know, how you want to approach different problems and also different use cases because every site's a little different. It's not like you can install something, turn it on and it's going to work in every situation. So, uh, there is a Google doc, uh, that I'm running, constantly updating, um, because, uh, it's, it's kind of, some of these things are moving targets. Um, if you follow through the steps, there's like a table of contents. You can jump right to your pain points and try and address, you know, a particular piece, be it image handling, text, uh, etc. And, and I'm going to be, be going through, uh, some of those, some of those pieces as well. Um, but, uh, you know, you don't need to take furious notes cause it's all there. And, um, also there's, uh, a distro, um, that you can download to see how all of this is going to be working. I'll talk a little bit more about that at the end. All right. So, uh, what, what is, uh, what is Wiggy? Wizzy Wig? Um, basically, you know, you have something in mind and you put it in there. This is what you want. You press save and this is what you get. So, what do we do? How do we solve this problem? Like most things in Drupal, don't worry. It's not as bad as you think. If you just kind of go through things. Chances are you probably have half of these modules already installed on your site. And, um, depending on your use case, you know, you, you might not need to go through all of this. Um, so I have a couple different lists of sections. Again, these slides will be available for download and all of these hot link to the module pages for you. Uh, Wizzy Wig, obviously, uh, that's what we're all here talking about. But, um, in case you may be on the fence around using a dedicated module, like, uh, I don't know, the CK editor or module, I would highly recommend that you use Wizzy Wig and the Wizzy Wig API. Uh, mainly because you won't be able to do some of the tricks that I'm going to show you later. And, um, also because it's, you know, uh, uh, well, it's just so much better. I mean, you can use multiple Wizzy Wigs for different text areas. It's awesome. Uh, Wizzy Wig filter allows you to sanitize the, the, uh, input that people put in. So if someone accidentally like pastes some code in there that you don't like, gone, with a lot more control than you can in the standard, um, uh, fields. Um, better formats. Uh, most of this is rolled into core now in Drupal 7. But, uh, if you're still on Drupal 6, I highly recommend that you install this module because it allows you to configure, you know, per content type, what input formats, input filters you're going to be using. Um, so, so that, uh, um, you know, you can maybe on a page or on a blog, you know, you want to add some additional stuff. Um, you know, you have some, a particular content type. It allows you a lot of control and control per user as well, which is fantastic and something we're going to get into a little bit, uh, more. Um, so, uh, file field sources, insert, image resize filter. These are all amazing modules. Uh, and, uh, Nate Quicksketch has, has, has done a great, a great job, um, you know, uh, putting, putting these together and, and they, they work fabulously and we'll solve a lot of your problems, especially if you're dealing with inline images, uh, which we'll, we'll talk a bit about. Um, file field sources, insert, you know, I'm going to demo these so I, I'll, uh, it'll make a lot more sense if I just kind of show you how they work, if you don't already know. And, uh, IMCE, um, I actually kind of do advocate for a lot of, um, people think it's, you know, kind of, it can be dangerous. Don't get me wrong, but, um, I'll, I'll show you how to put some guard rails in place so that people aren't, um, you know, chopping things up on your server. Uh, if you're in six, image cache and it week uploader are, are, are pretty nifty. Uh, image cache is certainly necessary for everything. Um, now, uh, paths are a really big issue in my view. Like I like a nice clean file system. I like to know where things are going. I like to ensure that, you know, I can permission things appropriately. And, um, uh, also I want to make sure that when people are uploading images, if they have strange characters in them that I can strip them out and, you know, they're not going to look fine on the node edit form and then get broken links later on. Um, so for that, you know, use a combination of these modules and, uh, pathologic, which is, uh, also maybe a lesser known, uh, module. It allows you to, uh, dynamically rewrite image, uh, URLs that are inside the body field. So like if you are on your staging site and you upload an image, then you go and push a production, uh, suddenly, you know, your image links, um, break because maybe, I don't know, or it was on local and you know, you can't connect. Um, so what it does it'll, it'll rewrite that. Um, it's kind of nifty. Great for migrations, great for moving between, uh, between places and also for creating like, uh, um, URLs that are relative instead of absolute, which you tend to get quite a bit. Alright, so the first thing you want to do when you're creating like, say you were starting from scratch or maybe you already have a configuration. Um, I advocate, you know, having two different text formats or input formats up here in Drupal 6 and, uh, I, a lot of people seem to call those whizzy wig which, you know, is, I find confusing for a lot of editors, especially in nonprofits, they're, they just want to use like something that's a text editor, right? And you say whizzy wig and then they have to learn all these terms and I just try to make it really friendly and approachable. So I make two input formats, one called text editor and then the other is an advanced text editor, which includes some additional buttons and things because maybe you want, um, certain people with certain privileges to be able to insert tables on your website. Maybe. And, uh, other people not. Um, so whizzy wig filter, uh, this is a quick preview of the syntax which can look a little scary, uh, but it's definitely worth studying. Uh, this allows you to filter out, you know, certain types of code and I'll show you how to configure that and I've got a couple snippets in the Google doc. You can just cut and paste right in and it'll get you from like 0 to 60 in about three seconds. Um, so this is different than what comes out of the box and what this is basically saying is at the beginning I'm gonna let some styles in here, um, some classes and I'm gonna define what those are later. But, um, like I can, for example the little minus div, I'm gonna let a div get in there, but only if it's used to, you know, align things. Uh, I'm not gonna, I'm gonna strip out any divs that are just there for the sake of it. Um, yeah, so not, not too much time to spend on that, we could probably spend about like 15 minutes talking about, about this stuff but I, I think I'd rather, you know, give you guys a general overview, um, and then we can get into details a little bit later. Um, so this, this is kind of the magic, this is, this is the piece that I find like is the aha moment for a lot of people, like when they're working with their WYSIWYG config and it's this little, little bit in the advanced rule section of your configurations where you define your CSS path. You have a couple options, you can use the default CSS that comes with your WYSIWYG editor or you can set your theme CSS and how many people have done that and then they go to edit their node and like the background has got like background images in it or it's like an all terrible color, yeah. And then you switch it back to the theme and then you're like, oh well, you know, my stuff's okay but my whole site is using like sans serif fonts and now I'm in the WYSIWYG editor, it's all serif and I can't insert images properly. So what we do is we like set some classes as well and the syntax allows you to have a correspondence between like some actual, uh, legible names, um, that appear in a dropdown in the WYSIWYG so people can select, hey, you know, I want to make this a section or an image and then, um, what happens is those actually get wrapped in block level formats with the class applied to them so, uh, for example, you want to float an image instead of inserting an image and then popping it up and then setting it here and then putting padding and you just put your image, you put your image inside the WYSIWYG area and then you select a style and then it'll wrap it in a div with a class of, you know, image left which you can control in your CSS and then you can control as well all of your margins so that, you know, your editors are not going in and putting inconsistent margin and padding around all of their images. Um, and I'm a big advocate for, you know, um, throw it, taking as, as much, um, control as much granular control in the editors as possible, um, because in a way, I think it, it, it gives, it gives more, more freedom to like worry about the content than try and like, you know, color text and everything like that. Don't, don't do that. Don't, don't color text, please. Um, if you, if you're, if you're people really want to have color text then, you know, make it a class because, you know, they're going to make the greens all different colors and then you have to, you know, write some like SQL statement to go and find all this stuff across like 4,000 nodes. The CEO decides that the green needs to be lighter or whatever. Um, all right. Um, so then this, the other piece, the puzzle is, uh, is taming, taming the CSS in the editor, right? Like, so the first, oh, yeah. So this piece here, there's, this is really awkward. Um, you have to put like absolute paths inside of this, uh, inside of this CSS path. If you're using an admin theme, there's some tokens down here that you can use to find like the CSS, but you've, you know, if you're using an admin theme, uh, the WYSIWYG API does not like allow you to really detect in the admin theme where all that's going. Um, so in this case, you know, I made a sub theme of Bartick so I'm going back and getting the CSS out of Bartick, then getting my CSS out of my sub theme as well. So it's kind of a, a bit of a long string. Um, and one of those key pieces is having a dedicated WYSIWYG.CSS, um, and I'll show you the contents of, as well, to try and like reset some of the, uh, the, uh, styles that you may have, um, on your, um, theme because like maybe you eliminate your margin, right, on the body, but, um, and then, you know, your margin's gone and then your text is like right next to the edge of the editor. So, uh, the other thing that, uh, I do is have a little module that, um, loads some JavaScript which then applies, uh, dynamically applies the, uh, uh, some classes onto the, the WYSIWYG. So WYSIWYG, it loads in an iframe, right? And, uh, so you've got like a bot, two bodies on your page and then you try and put some stuff to correct it in, in your style sheets and it, it never seems to work properly in the cascading is like recursive. Um, so I'll show you that too. Um, I, I like CK editor for a number of reasons. Uh, one it's, you know, it's not too scary looking, um, and it's, uh, very, highly accessible, um, if you're, if you work in, in the academic environment which, which I, I, I tend to do, um, on occasion, uh, that, that's usually a concern. Um, also there's this great little feature, uh, where you can, you know, check a box and, uh, in the config and it's, uh, a little box that says force cleanup on standard paste which basically, um, strips out a bunch of the Microsoft cruft. Um, and that's really awesome. Uh, and then the custom styles that I showed you earlier. And, uh, last, of course, you should do it because everyone else is doing it too. Uh, so this is the, the CSS, so I, I always have this little WYSIWYG.CSS inside of my, um, uh, my theme. Now, I'm trying to push this into the, the module, little module itself, uh, eventually. Um, but, uh, you just reset the font size and, uh, these, um, different body, uh, classes are for D6 and D7. So the, the module, um, works for, for, uh, both. And, uh, uh, resetting the font size to 1M because, you know, like I said, you have the body in the body and so if you're then trying to apply some styles, you'll find that your sizing is inconsistent. Uh, I reset the background to white and, uh, add a little bit of margin to make it more comfortable, uh, during the editing experience. Uh, and then there's a little JavaScript file and, uh, all that does is it adds a class on that body, which is Node. I find that there are a lot of instances where, uh, styles depend on or cascade down from Node and, uh, so, um, you can't actually get that because it appears on the body of your, your, you know, your Drupal site. If you inspect the HTML, you'll see that on the body there's a class of Node when you're, um, on a Node and that is not in the WYSIWYG editor, so you can't actually target any of your, like, Node level h, h tags or specific styles like that. Alright, so, so that's, that's kind of the overview of how the text configuration works, um, and now, now I think, you know, we'll talk a little bit about, about, uh, image handling, which is, which is more complex. Alright, so, uh, media has changed quite a bit, um, and, but, you know, like, it's not, it's, I don't know, in my, in my view, uh, media, it, it's not completely there yet. I think it's a extremely, uh, promising, uh, solution, um, but I have one particular use case that, uh, media does not, uh, solve for me, uh, for those of you that, uh, how many people are using media module currently in their implementations? Okay, um, so even on, on D7, I find, like, that it doesn't allow me to decide where those images are going, and then, uh, I can't, you know, my file system is all, is all a giant mess and the only way to get to those images is then through the, you know, the media browser, which then, you know, gives me everything and I tried making my own views for that and, and I kind of hit a bit of walls, so I, I defaulted back to my D6 approach. Um, now, when thinking about media, I, I kind of, you know, imagine two different categories of, of, of files or images, you know, the first is, like, attachments. Um, typically, you know, you have posts and people want to attach, like, you know, PDF files or whatever, and, and then there's, there's images which break down into two types, like there's, um, fields which generally, uh, exist, you know, like, maybe you have a, a blog and a main image, and then there's the idea of, like, in line images, stuff that you want to paste anywhere for any reason. Um, so this is, this is kind of what, what I like to see, you know, in a, in a file strategy. Um, you know, your default files, uh, directory is gonna contain all kinds of, uh, temporary cache files. So, uh, you, you definitely want to make sure that you're, you're never putting your images directly in the root of your, uh, your image directory. You, so, um, I, I have a folder called images and then I usually break it down per content type or, you know, sometimes per roll it, it depends. And, uh, uh, transliteration and file field paths help with that. Um, so the, the file field paths allows you on a per field basis to decide where you're gonna put things. And, um, uh, and that's, you know, fantastic. And then transliteration will allow you to rewrite the names of those, uh, uh, images so that, um, you know, you can, you can translate them, you can get rid of them, you can push everything to UTF, UTF-A, uh, or, uh, sorry, uh, yeah like just the, the standard ASCII character set and, um, uh, yeah, it's, it's, it's fantastic. And then I use, uh, IMCE to, to go and browse and find those images instead of media module because it allows me granular permissioning. I can say, oh, you know, I want my like marketing department to go and only edit like, be able to access this chunk of images and reuse those but I don't want them to have access to, to anything else. And I only use it to browse files and then insert them into the body in combination with, um, you know, the, the, the insert module. Um, and, uh, I'm gonna, I'm gonna show you that. How all this, uh, how all this comes together. Technology. Uh, so, uh, I, I have a demo site up but, um, I'll be providing some login information and set some like kind of, uh, demo site reset stuff so you guys can actually play around with it post-con here. But for now. So, um, here's a little site and, uh, I have, uh, a couple different, um, content types in here. Um, I have an article and a page and, uh, a little, you know, list of views, a view of, of some of these articles here and, uh, and then there's, uh, uh, you know, some text. So, here is, uh, cute little, uh, block of text that you can see, uh, has a whole bunch of test, uh, HTML in it and so you can like see how it renders out. And, uh, I can't remember where I snagged this from. I think I got it from maybe, uh, Andrew Berry who got it from someone else. Um, there we go. So, besides just like that little flash there. Um, so you can see in, in the editor, you know, it looks pretty much the same and then, uh, right now I'm logged in as, uh, an administrator and, uh, so I have access to be able to, you know, switch between text formats if I need to. Um, and if I check out the, uh, the basic test, this is using a filter. So it looks, it looks okay here. Uh, this is the little caveat here. Like, um, if you're using the, um, WYSIWYG filter module, um, it applies post. So if you're filtering out particular, like, tags, uh, no, it's not going to really, um, show you, um, that they're going to get stripped out until you press save. For example, here, you know, you've got some pre-formatted text and I'm not letting pre-formatted text get, uh, that tag get rendered. It's getting stripped out. So you see it just kind of disappears. And I don't want tables to get, uh, put in. So, you know, my tables are not formatted. It's, it's not in there at all. Um, oh, let's take a look at just kind of like the basic, basic article here. And what I'll do is I'll switch, uh, users for you after. All right. So here's the regular image and this just goes up. Here's your body and some attachments. It's pretty standard. And then some inline images. So say, you know, I want to upload an inline image here and then I want to insert it inside of my text. And I want to put it right here, you know. Uh, I come and I've got it. I just press insert. And I've got a couple of styles that I can decide to, you know, put them in as. Um, now I'm just going to go large and, you know, I, I like to live large. Oh no. Bummer. Live demos. Let's go look at an actual saved article. This one's already done working. So here's a couple of examples of some images that have been inserted. Exactly like I just did now except it actually worked. Um, and uh, this, this is the fantastic little thing about image resize filter. So you throw your images in and then, you know, you can scale them and it'll automatically generate using the image cache API a new, uh, a new image at the size that you've scaled it at. Uh, so you're not like, you can upload a really big image, put it in there, scale it down dynamically and then, uh, you know, you're, you're all good to go. Uh, just make sure when you're inserting it that you don't insert the image too small and, and try and make it bigger or else you'll get all, all the crusties. Um, so here's some of these styles. You can see like it's actually, you know, rendering out and floating and the format here is image right, which I've set up. Here I could choose, uh, image left, image right, floats over the right. And, uh, here because this is a link, you know, it's got a little hopper style. And, you know, increasingly I'm finding like for the, uh, regular text editor that I don't really even like to put the block level formats anymore. I just put these styles and it wraps it in the h tags anyways and then they don't even need to think about like HTML stuff or what is all this and then they need to do two different things. Make it an h tag and then apply a style. You know, it depends how much real estate you have. If you have like 400 like styles then maybe, uh, it's not so much of a good idea, but, uh, for most use cases I find like that works pretty well. Um, cool. So, yeah. Um, let's see. Alright. Um, maybe you know what I could show you is how all this configuration works inside of the WYSIWYG because that, that's the, uh, that's the great piece. So everything's under content authoring. You know, let's take a look at how we configure like our, let's go for like our basic text editor here. Um, so in this case, you know, I'm going to let everyone use it and hear the filters that I have enabled. Uh, the WYSIWYG filter, uh, image resize filter. Uh, I, you know, it's a basic editor for base, for normal people. So I'll convert the URLs, sure why not. And, uh, correct some faulty HTML. Now you got to throw the image resize filter, uh, down there at the bottom or else it won't work. Um, that's in documentation but I thought I'd mention it. And, uh, the WYSIWYG filter you want to run like kind of last because first, if you have any kind of, um, I don't know, like you throw some media tags in there and they become like actual HTML tags, then you want to run the filter after and maybe get rid of those if, uh, if you don't want them. Um, so here's how this WYSIWYG filter thing works. It's just a text box and you put some stuff in there according to the syntax. Here's some links to the syntax tips and, uh, and then you've got all these little boxes. This is kind of complicated. Like you might find you turn it on and then you can't do anything anymore. You have to on top of that decide like what you're going to let in. So you go through and you check these boxes. Also in the Google doc you can take a look at it. Uh, you know I had a little, I let some borders get in there. I figure you know maybe why not? Like there's some borders and some lists and definitely want lists. Um, so you might allow that, but allow people to create lists but if you don't create that list button it's gonna, it's gonna be gone. Like what you really don't want to end up in a situation, you don't want to end up in the situation where you're like kind of giving up on it and then you just let them choose full HTML. That's a disaster. But that's what most people end of doing, right? You bear and you're like oh, this isn't quite working. Ah, let's just let everyone use full HTML. And then the fun begins. Um, so here's, uh, the class names that, um it's when I, earlier when I was, uh, showing you like that, um, uh, up here, where is it? Yeah. Whip here, I'm letting some classes in. Um, down, down here I need to define what they are. So basically I strip out any class that isn't like pre-approved. And then there's some IDs. I mean, I guess you could put IDs in if you wanted to. Um, and then inline style stuff and some domains as well. Like if you want to, um, allow, allow those to be included in your links. Uh, and be shown as relative. Uh, so image, image resize filter is, you know, there's, isn't a, a lot of, a lot of options there. Um, so here, more rules, more buttons, more permissions, same classes. And I'll just show you the wizzy wig profile stuff. Um, so here, here you've got like editors that you assign to your, um, text formats. And, uh, once you do this you can't really switch. So uh, you have to delete it in order to reassign another, um, another format. But, you know, it's okay. It doesn't take too long to configure. Um, I, you know, I don't really, uh, think you should put any kind of wizzy wig profile on full HTML. Um, I mean maybe if you use one of those things that like, you know, it'll wrap some, some stuff around it. But don't, don't use a wizzy wig on, on that. I, you know, it just gets really confusing. So if you are showing full HTML, then, you know, you should see HTML, not something else in my view. I don't know. Uh, so here we go. Lots of options. This is why it never ends up working because, you know, there are all these options. Okay. So I disable this, uh, enable, disable rich text toggle link thing. Like, I just find with, uh, ck editor, uh, you don't, you don't really need it, right? Because you come in here and you enable the source and you can see the source. So like, why would you toggle it on and off? It's just an extra button. It's an extra UI. Um, then you got to put, you choose all the buttons that you want to put up on there. You know, you're free to do, to do whatever you like. Uh, I have some recommendations. And then you clean up everything and then you need to put your CSS to correspond to the classes that you wanted to include. And it's really important that you also put the block level format here, uh, before it in this dot notation. Uh, this was like, kind of contentious for a while. It wasn't really working. Um, and actually in order to get the dropdown to work, you do have to apply a patch to, uh, WYSIWYG still I think. I don't know if they've rolled it in there, but, um, alright. So the last thing maybe, uh, I'll show the IMCE stuff because sometimes that's a bit of a mystery for people. Uh, I create, like, these configuration profiles, well, everyone creates configuration profiles or some default ones. I get rid of, I get rid of, uh, the, you know, I just have two for an administrator and a contributor. And, uh, I'll show you what, like, let's say what the contributor can do. So I limit, you know, what they can, uh, how much they can upload. And then you can set, you know, where they are allowed to browse to. So you, you know, let them go into the image images and then they can browse. Uh, and then there's also like contributor uploads maybe if they're uploading stuff. Uh, I toss that into, um, uh, particular field. So let's see what that looks like here. If I wanted to use, like, maybe not on a page, to go to like a post and you'll see how the insert thingy works. So, here's an article. Again, test insert the article. Right. So this is, uh, file field sources. It allows you to use multiple sources for your images. You can upload one from your file system, which is fine. Uh, you can also use a remote URL, if you know that it's somewhere else on the net. Uh, you can reference an existing one if you know the actual name of the image, but most people don't. So this file browser, this is IMCE. And you click file browser, you go browse, and then you can see that only the images that I'm allowed to browse into show up. And here are my, like, article images. And, you know, I can, I can see them there, choose it, and then it reappears, and I can then insert it into the body, like I did later, earlier. Uh, there we go. Alright. Well, that one worked. Cool. Um, that's kind of it. I don't know. Um, do you guys have any, like, particular sets of questions or problems that you're facing? Um, I don't know. Dramatic and contentious opinions about what I've just outlined for you. Um, there is a microphone for the benefit of the World Wide Web if you'd like to stand up and toss your question in there. Um, or I can, you know, repeat it if, uh, you don't want to get up. Um, so I noticed you're using the, uh, WYSIWYG, uh, module with the CK Editor Library. Um, I don't know if this is different in Drupal 7, but in Drupal 6, you have the option of using the CK Editor module itself instead of the WYSIWYG module. Right. You have a preference or a reason. Um, well, there are a couple of reasons. One, one is that, like, with the, it's a bit harder to target particular text areas with the full module. So if you order the, um, you set your default format and then you got to kind of exclude everything one by one with, with that, with the library. Sorry, I'm not articulating this so well. Um, basically, like, you can, you can set, set a baseline and then with better formats and you can target, you know, particular nodes in particular, particular areas. But, uh, the other way around you're like making this long list of all these different text areas you have to exclude the text editor on and you've got your edit forms and then you activate a module and then you got WYSIWYG on it and it's just like, ah. Um, the other thing is that you can, it's easier to add those, um, uh, to use that, that, there's some, um, methods, some functions that will allow you to extend, uh, CK Editor more easily inside of your own module so you can add custom buttons, uh, or you can, you know, add via JavaScript a body class inside, inside of there. Um, so that's, yeah, that's, that's, those are the two main reasons. Okay. Thank you. Um, and then also, uh, for managing the file uploads and the images, have you thought about, um, using like actual nodes for each image or file or whatever? I'm, I'm in the process of designing my, my, um, content editor system right now and that was one option I was thinking about. Sure. I mean, you can use, you know, node references and, and everything and, and if you use, uh, file field paths, you're shoving your images in a specific place so you know where to retrieve them later on if you want to insert them into the body. Um, or you can use, uh, a node reference field in order to be able to, you know, connect those together on the, the node edit form. Um, and that's, that's fine too, you know, it depends what you want to do. If you want to, like, I find that's a particular use case where you have images in an image gallery and then you want to reuse those inside of the body of your posts and you don't want to re-upload the same images and, um, so you can then permission things and put them like, say you have a gallery and you give it, you give the whole thing a name and slash galleries slash Christmas and then you know that if you want to use the Christmas images you can go browse in there and then put them inside of like whatever. Uh, yes. So I've had several situations where I have two different content editors, uh, one who's working with, uh, basic formats and one who can do advanced formatting who's a bit more experienced. Yeah. And in the case where somebody who with advanced formatting works on a page and sets up something like tables with advanced formatting and then the basic person goes to edit that page later without that it seems like that formatting either gets stripped or they just can't do it. Is there any better way of handling that? No. Uh, so you kind of have two options. You can, you can either like let both uh, roles access both formats and then you use better formats to be able to like make the default different for each editor and the person of a lesser role gets the basic editor by default and, or you make everyone have the basic one by default um, which I would recommend uh, go into advanced features when you need them and keep it simple as much as possible then uh, you know, but you know sometimes if you that can mitigate the possibility, right? So you start basic and then you do something advanced like maybe you do want to lock people out at that point because you don't want the messing with it because it's, you know, outside of the realm of their abilities. It depends on your use case. You know, you, you can just decide which way to go. Thanks. I have a two-part question. My first one is uh, there's the itweaks upload that you mentioned or the, that's in the documentation that, that only works on the Drupal 6 uploads. Yeah. Not on the file field. Yeah. Um, it's mostly rolled into seven uh, in terms of like what it does uh, OpenHRM uses it if you're familiar with that. Um, so I'm on Drupal 6 but when you're in, in combination with the insert module where you can insert it, uh, is there any, any better way of managing it when you have multiple images, you have to keep adding like 10, 12 images and you have to scroll up the page to deal with that. Yeah, yeah, absolutely. It's called theming and you can like uh, you know get, actually uh, if anyone had a chance to go to the Open Academy talk or if you haven't, you know, download that they've done some really great things using panels to move um, some of those pieces inside of a an interface so that, you know, you've got that on the side of the body because I mean that body field is kind of wide anyways right, so it's okay if we squash it a bit and we put our things next to it instead. Um, what I've done is like basically outline a structure for things and um, like using you know, Bardic here and default seven, um but you can, you can then, you know, you can you can jazz it up a little bit and then the other thing you could do is I mean if you were industrious you could rewrite and make your own image button and like craft a module to do that and hook into all that stuff probably I don't know I haven't gone that far. Oh, the one more thing is you can the other thing you can do is use field groups and then in seven field groups will allow you to display things as tabs kind of a tabbed interface the same way that you have the view and edit and then I've done that a lot so if you have multiple media and you know you have a whole bunch of images and a gallery or videos then your form isn't so long and it's a little bit less imposing plus it might be an edge case the other opportunity that you have is to reference reference things to take that out of the note itself. Sorry. Um, so I have a content type with an image field that stores the images in the private file system and I can't get the IMCE browser to look at that am I missing something obvious or is that a limitation of the IMCE browser? You're missing something but it's not obvious there's a check box somewhere okay and it it's a little check box and it says you know allow IMCE to browse inside the file, the private file system I think I remember that and it says something about if you do that then it's not applying the same permissions to the limit who can see those which is the point of having it in the private file system is that I don't know if I'm misunderstanding that or but if I do that am I really exposing that to everyone without authentication? It's yeah it's like somewhat dangerous I guess so at that point if you use private files maybe you know don't use the IMCE browser if you're concerned about security which probably should be. Thanks. You mentioned the image resize filter as a way to sort of create ad hoc image cache presets from the size that a user specifies for the image when they insert it in line is there's sort of a way to do the opposite and allow users only to choose from some predefined image cache presets for those inline images to sort of keep and that comes from image cache? Yeah so those are like image cache styles in triple seven and then there you go or you know they can use they can use chrome and then they won't be able to drag and move those resize those images because it's kind of busted in chrome at least it was last time I checked Do you have an opinion about using the image picker module as an alternative to IMCE and insert? No. If you have something to share about it please do if you want to advocate for it. It basically gives you the browsing that IMCE gives you right there on the node edit screen in a paged format so you can tab through and see thumbnails and you're basically just looking at your repository of images you can click on them and insert them just the way insert does. Okay cool check it out. Alright thanks for the talk I've I've been through a lot of the very same process and actually landed on using a lot of these very same tools in my own workflow and one thing that I'd really like to be able to do and I'm curious whether you have a good solution is like wrap all of this configuration that we've just talked about into something that's exportable or you know that you can easily use across sites like with features module or something like that. I have candy for you. So I've created a distribution which wraps basically the demo site up and still working on it a bit because it's kind of tough this stuff. And in order for the features to work there's like a certain combination of patches that you need to apply to things so what the distro does is there's a make file and it'll build it'll build the whole stack for you and now d.o will allow I hear external libraries so I'm going to look to packaging it up on there so you can just download a tar ball which is a lot more straightforward. There's a simple installation profile which will create some content types and all this and the so I do have in there a module which is a web feature and it encapsulates this stuff but for it to work you have to pair you have to pair permissioning with it so I've decoupled that with two features one which is a WYSIWYG feature and then there's another one that just has the permissions in it so you can like alter that if you have different roles on your site and there's also the sub theme that includes CSS and then the custom module that has the javascript stuff so you can just you know you just make that then you can go in there and you can build it with site install if you're industrious and if not then you can wait to download the tar ball. That's awesome, thanks a lot. Just a couple comments, like here we were kind of disappointed in the meeting module when it came out and that it just put things wherever it wanted and we couldn't as far as have any folder management from the users level and the ability to move items around it was kind of a let down we used CK Finder and have found it to meet our needs I do like the idea that you can do some roles you can have some permissions down to the roles I don't know if you've ever messed around with CK Finder I assume you have but have you ever seen anywhere that you can assign roles with CK Finder or permissions? I'm not really aware of that module but like you say the reason I like IMCE is particularly for the ability to have permission across multiple roles I'll look into that thanks my users love Microsoft Word a lot and they love to paste directly from Microsoft Word into the wizardware editor and it always fails, be it tiny IMCE or CK editor no matter how much stripping I set it to do do you have any work around solutions for that sort of thing? Yeah, so that wizardware filter is what you want to invest some time into because there really isn't much that that will strip out the standard paste checkbox it does a pretty good job but what you can do is educate them a little bit and have them not necessarily leave Word I think Word from 2007 or 8 onwards has a feature when you go in their file menu export for web and it actually does a pretty good job of translating things into h tags and lists into actual HTML and getting rid of a lot of that craft so I would encourage that workflow you can always do the thing where you cut and paste into notepad a lot of people do that to make sure to get rid of things I mean it's just nicer to have your database be slimmer because it's all extra code and then your revisions table builds up and if you can get your input to be cleaner you don't have to deal so much with the output but to be safe you just want to make sure that you're going to be challenging that input with some strict rules there thank you he's just mentioning the paste from Word button in CK editor but I found that it never really quite did the job I think that correcting the behavior is a good thing to do but I work for non-profits as well so I know how difficult that is that's a good way of training them if people can try and come up to the mic with responses I would repeat what you said for the benefit of everyone but I couldn't even hear it can you speak to the balance between training editors versus spending a lot of time setting up a wizzy bug editor you know hope for the best prepare for the worst user error is frequent and it might be a mistake it might be you so you do on the back need to definitely make sure that you lock things down and you prepare against eventualities but training is important not only does it help you build better relationships with your clients and make them comfortable and cared for but it can save them time and it can make sure that your database is nice and slim so do you have a more specific query? well I guess I have one particular editor who is a constant trouble maker have constant issues mainly with pasting from word and the rest of my editors are great so on one hand it's almost easier to I guess I'm not sure what to do with this one person whether I have an editor or someone with a higher permission that goes in and cleans things up does that person have a boss? yes talk to the boss what we've found that's been really helpful for us is what we do is we start them out we see we get the editor toggled off have them pasted in nothing stays from word then they toggle it on and then they do their editing if they do what this gentleman just said and they can do it consistently they get plain text only or they get the permissions taken away and actually we've had like 100% compliance since then it really helped us a lot with that to me the strip out force cleanup on paste never works yeah it's not it's not 100% there but you know it helps and yeah I totally agree user behavior is the easiest well not the easiest but the most effective solution I'm Willy Kay from New York a quick question is well I found that the recipe that you talked about a few folks talked about for images in WSWIG the media tends to work pretty well with sort of a moderate amount of images but I find when on sites that have lots like thousands and thousands of images it's sort of tough as far as an interface goes and generally sort of ended up rolling something else with views and a couple other solutions but how do you what's your experience been with sort of large volumes of images and would you do a different recipe do you have issues with the large volume is it browsing and finding things yeah it's sort of the user experience in terms of navigating that's where that's where I am CE I think is good and where file field paths really comes in and you can you know segment and you can use tokens too chances are you have larger groups you have galleries and those galleries have names and then you can have some you know some folders that you can you know chuck some stuff into you can use dates as well so you know top level it's like I don't know it's like your file system right think about how would you like it to be to be browsable and then I'm sure you can refactor that into a pattern that will apply across your site sorry and you found that approach workable yeah I found that approach workable but you know I mean I'm not talking about like necessarily running a whole image based like I don't know like a million images on your site like then then yeah that that kind of breaks down but then you have a different kind of site and you're not really talking about like content so much and you need to reconsider like how you're dealing with all of your media and you know as a completely different strategy than like inserting or you know as you might want to have a more programmatic solution at that point maybe alright well you know we're out of time I would invite anyone who's interested to continue this conversation to be in touch with me and if you have any particular interest in you know working on technology for the Occupy Wall Street movement certainly I'd like to chat with you we're always looking for more people to work for free and you know that's the cost of freedom right thank you so much enjoy the rest of your time here