Justin's Personal TODO List == DADA TO DO: ------------ Key: [ ] To-Do. [-] Working. [x] Done. [*] Naw... [?] Someday * Embed Subscription Form. Options for various frontend frameworks + tabled-based HTML (shutter), flexbox? (advanced) show required form fields, so that people can make their own forms "You Are Already Subscribed" email needs HTML equiv. MUCH larger notification about new versions available New CKeditor 4.6.smeting config.uploadUrl = 'http://dancingindigochild.local/cgi-bin/dada/goodjob.cgi'; config.imageUploadUrl = 'http://dancingindigochild.local/cgi-bin/dada/goodjob.cgi'; }; Add previous plugins - was anyting specifically importnant? What's up with KCFinder? Update TinyMCE? Make the CPAN SMTP unbundled and put into Bundle::DadaMail - hook up the better TLS support Put check for domain for sendmail - is the list owner/admin the same as the installed domain? VCard availability? Put "redirect" URL in modal window, make integration into website much easy - one line of Javascript? Screencast ideas (all the new features) reCAPTCHA setup * Save draft message until mass mailing has completed (or forever?). Maybe allow editing of a message during mass mailing? KEep track of state of mailing to restart? * Maybe save where we aer on a mailing (we already do htis?) and have that as an option restart at, * that would be easy to save in a draft... * Work on build script, and docs on build script * Double-check commadn line works correctly, and add ALL options to command line * Double check PSGI docs are up to date, * and make new tutorial on working with Dada Mail in a container https://robn.io/docker-perl/ * Blog Using Tracker to figure out if messages are sending correctly Make some sort of dupe message stopper. Hash accepted messages, perhaps, save hash, compare to messages coming in, and reject messages that match the hash, after x times? Read in message, save hash of BODY (only body) and Message-ID (Which should be uique) Test: see if there are three messages stored that have the same hash, OR Messge-ID. If so? Test FAILS HOUSEKEEPING: Get rid of records that are x days old (60?). Since we're only saving the hash, this should be a BIG tabe CREATE TABLE IF NOT EXISTS dada_bridge_message_dupe_trove ( id INT4 NOT NULL PRIMARY KEY AUTO_INCREMENT, list varchar(16), body_hash VARCHAR(225) NOT NULL, content_id VARCHAR(225) NOT NULL, ); CREATE INDEX dada_bridge_message_dupe_trove_all_index ON dada_bridge_message_dupe_trove (list, body_hash, content_id); Core5Filemanager replacement: https://github.com/servocoder/RichFilemanager * Make using Email::MIME::CreateHTML an option if available - and maybe the dfault, unless NOT available, * make slight tweak so that LWP resolver doesn't die with unfound resource - just a warning is just fine... Other things we may want to look for, for embeddignn images? 'bgsound' => {'src'=>1}, 'body' => {'background'=>1}, 'img' => {'src'=>1}, 'input' => {'src'=>1}, 'table' => {'background'=>1}, 'td' => {'background'=>1}, 'th' => {'background'=>1}, 'tr' => {'background'=>1} Send a Webpage ourselves (Love to inline all linkned stylesheets beforehand - MIME::Lite::HTML takes care of that - AND inlining images, grr!) Grab Webpage Apply Template? - do we just take the
content? - want this as its own "filter" - or, attempt to inject our own css into the page (we need our own css...) - but template now comprised both a and a so results are goign to be WEIRD - vote for taking just content from body... BUT: - We can also make it an option: - Apply template (using only the of the template...) - do NOT apply template (use this for Send a Webpage screen, as well...) - and then we can have > 1 templates too choose from: the all-encompassing template, and a bare bones template, that just has unsub/pysical address information. THEN make into multipart/related mime message WHATEVER we do, we probably need to a preview button, that also allows you to send a test message out? (or two buttons, whatever - next to the template picker?) * So mailing list mssage content: Inject stylesheet into start of , or right before body, or if there's o body, well, you gotta make one ,inlinify (removing stylesheet) - if CSS::Inliner isk available, then add to already inlined template. Sigh! Guess we'll have to figure out a policy on what to do with the full HTML document, if we're just taking what's in the body tag? Should CKEdit have the stylesheet already loaded in? What happens if you edit the underlying HTML? * Does format_headers_and_body with -msg param. still... work? why is the bridge plugin sched job taking so much processing time, when all the lists are using mail fowards?! Problems w/Safari in the Membership >> View screen. Add SES support to the CL installer... pull msg from rss feed Can the encrypted password be exportable (and also importable?) Lt's double-check the new index I've made is gooder. for the rate limit stuff. be prtty sweet to view to-be moderated messages in the web admin, yeah? and/or after x days, messages are automatically approved/denied, are images found embedded in HTML messages saved that way, when they're archived? If so, they should't be... Make prntng out delivery prefs optional Make exported CSV something that you ca easily import (timestamp at the end, then?) I WANT TO SEE THE DIGEST PREFS (AND PERHAPS IMPORT THAT) BRIDGE: Tag for original From: header Tag View of profile fields? [ ] Syntax check for (at least) email message templates. Already a, DADA::Template::Widgets::validate_screen method to use Take subscription size into consideration when making auto adjut batch seding speed thing Update CKEditor for the drag n drop image feature. new branch! [ ] My bet is that I'm not the only impatient list admin out there and that there a lot of admins who would like to see (maybe even expect) the names to disappear off the bounce list as soon as the manual deletions are done. I haven't checked the existing SQL, but I would think that should be possible. I see your point: it would make more sense for the score to be more related to the subscription of the address, rather than how it is, now. I think this is just a historical artifact, when Dada Mail supported a more simple backend, that didn't allow for such meta information. I'll make a note to integrate the bounce scorecard with the actual subscriber's data. Show sending prefs in View List Screen (only if digests are enabled) Switch from list owner to root from within the list control panel easily. - a setting to allow you to choose which screen comes up on login. F Well, that could certainly be made per-list (easily) Membership >> View - inline ediing of data in table cells (guh - duh!) QR codes that people can point their cell phone at and sign up automagically. - kinda interesting idea... Perhaps save drafts in a way that are archived (but, uh, not in the archive, or are, just not in th same way) Anways- a way to pull up the message, to send again. Yeah. New Core5 Filemanager only sending part of the URL? no domain? (unconfirmed...) Hey, you know what? I can make my own inliner super service! Agreement step on subscription (by checking this box, you agree to the following, yadda yadda) email list owner about new list being created. Broke KCFinder too?! Installer - create cli args when setting up DM in web installer, save those are in .dada_config file, along with date of configuration creation and v. of app that created it. Bridge - email list owner if message over Had limit is sent - say something like, "too big to even open" and perhaps where to change this setting, [ ] Some IP Addresses for opens/clickthroughs are from datacenters of the mail service (gmail, hotmail) - is there a way to get the original ip? [] Ability to set defautl draft message for new messages is bounce handler set as default admin email? [] Maybe an email about when a mass mailing starts? [] global option to enable/disable modal menu on subscription form? [ ] Things for CGI::App migration: Perhaps figure out forking stuff, first? [] list-specific upload directories, rather than a shared one [] remove MIME::Lite completely (ongoing process) [] Add, "Frequency of email messages" [] ability to share stationery messages. [ ] A way to set an alternative path to perl [ ] Keep tmp subscriber list fresh in mass mailing metadata. That basically means make the tmp subscribe list right before sending, as mass mailings get queued. [] Are strange attachment names still working? [ ] Bounce Handler should know about vacation messages, and forward them to the list owner, if it receives one. __cfduid [ ] Upgrade KCFinder, we're a few years out of date. [ ] write about caching - no one really understands [ ] It may be nice to have a preview of what the header will look like, for p.p. mode, as the default is a little complicated. [x] Timestamp - pick two dates BETWEEN X AND Y [ ] Tests - what happens if one of the dates is not filled out? [ ] Also work on advanced search, and saving advanced search, pickable inview screen, as well as partial sending, so you can save an advanced search and a draft, w/partial sending w/that advanced search, which will be dynamica. Hooyh. [ ] All the (new) stuff in the view list screen needs to have the ability to be turned on/off by root for the List... [ ] It would be nice to be able to have a custom error message ready, for when the field is left blank. [ ] Explain that hidden fields that are required, are not required by users, who have no way to fill them out! [ ] New Cols in subscriber table [ ] col to describe how the subscriber was subscribed [ ] confirmed [ ] unconfirmed [ ] Perhaps this is an entirely new table, describing the type of subscription [ ] UID, IP, timestamp, by whom (role), and subscription table just has relation to UID in the current subscription [ ] Oh, boy another table to update when a subscription is made. [-] Need ability to: [x] send complaints to list owner, [ ] log complaints, [x] track complaints in tracker plugin Need to finish: [ ] Fleshing out copy for all the screens, emails [ ] logging complaints... todo for ver. after? [ ] Integration w/StopForumSpam Here's some discussion: https://dadamailproject.com/support/boards/viewtopic.php?flavor=9&t=4066&p=14868 http://stopforumspam.com [ ] Voting widget (thumbs up/down) on newsletters Lists will need to have two ways of opereation: [ ] SES: Get list of verified senders - warn! (somewhere if list owner/list admin is NOT a verified sender, and perhaps have some sort of fallback, so that mail just doesn't stop. [ ] Amazon SES Bounce Notification [ ] Amazon SES Bounce/Complaints via SNS, instead of the Bounce Email address. Ability to log COMPLAINTS! Good! (*) Automatically unsubscribe complaints ( ) Alert list owner about complaints Embed Message ID in From: header via VERP-ish behavior (listowner+MESSAGEIDHERE@example.com) Just need to figure out the subscribe stuff. Maybe the Appliation URL is something like: http://example.com/cgi-bin/dada/mail.cgi/plugins/bounce_handler/sns/list_name [ ] Seond step of add an address, "These addresses are already subcribed to your list" - should be tweaked for specific sublist [ ] Bridge Global defaults - add option to enable open discussion lists, etc [ ] Fancy Template things: for Global User Template, have option to just use a "blank" page (or any page, really), and: [ ] Allow you to inject the needed default template in BOTH the head and body, [ ] We can either look for a specific div id, or just take everything out between the tags [ ] Option to Embed js and or css? [ ] I would need to rename a lot of the css stuff, so it doesn't get in the way with a page's already existing stuff, [ ] and perhaps even seprate out form, and presentation css (do people do this, anymore?) [x] HTML::LinkExtor and image maps? [ ] Permission Reminders http://blog.sendgrid.com/permission-reminders-affect-email-deliverability/ [ ] List Information: need some sort of form validation - was there some? What happened to it?! [ ] Bridge: gotta state the message size limits on the admin screen - people have no idea. [ ] Installer - it'd be nice if the guess fo the.dada_fiels loc looked for the saved PROGRAM_URL - if it seems not to be the same loc as where we're installed - DON'T use it! [x] Installer - more easily set up CAPTCHA stuff (reCaptcha, etc) [ ] total_processed log, in case you cut a mass mailing short. [ ] Map to go along with Physical Address [ ] Template checker for HTML/Email Templates [ ] RSS to email [ ] Pagination on the public archive screens [ ] bounce handler - weekly reports? [ ] ARF reports? [ ] Complaint Tracking? [ ] Bounce Handler - ability to substract x from all scored addresses [ ] Ability to act upon all addresses in scorecard [ ] Perhaps another email protection scheme - just break the email address. [ ] Also: The act says, “Recipients of commercial electronic mail have a right to decline to receive additional commercial electronic mail from the same source.” So, unsub link is one-click w/embedded address, but encoded somehow. Encoding broken? Give manual instructions Put in one-step unsub form, with partially decoded address (MD5?), asking you to re-enter your address. Does not match up? Show an error message, describing what may be going on. Constant Contact: Oops. The email address you entered doesn’t match. Don’t remember signing up? If a friend forwarded you the email from The John D'oh Corporation, you were never on the mailing list. If you no longer wish to receive these emails, make sure to tell your friend to stop forwarding them to you. [] Ability to SEE other sublists... [ ] Ability to see other sublists (already invited) (Subscription Confirmation...) [ ] Screencast on how to install CPAN modules you may just need. [ ] Docs on moving from "Basic Mailing List" to Dada Mail !!! [ ] Rss to email converter? [ ] Thank you, quick question, is there a way for DadaMail to pull recent information from an RSS feed to do regular mails of recent posts? MailChimp does this and its handy for automated emails. [ ] - Beatitude - needs to be able to read RSS/Atom Feeds http://search.cpan.org/~btrott/XML-Feed/ [] Revist docs on Bridge - update. Now that I have some time, maybe the best thing to do is have such links bring the user to a screen that says something like, "link expired, try that all again, sorry about that: (show sub/unsub form)" [x] Revist docs on Bridge - update. [ ] Look for JSON modules - not there? "install" them ourselves (renamed JSON-remove[..] files/directories. [ ] Stil have to figure out why I'm calling JSON::PP, and not just JSON (?) [ ] There should be a test in the PlaiNText -> HTML message changer to make sure the template is still valid. And if it isn't, abort the change! [ ] Template and Template Tag checkers - is it a valid template? Warn if it ain't! [ ] Look at date on messages, if that's realistic. Option to deny messages that are too old. why doesn't the mailing monitor show STALE mass mailings? THe hell is an, "inactive" mailing? [ ] Sending a test message should pull up profile info, if the email address that you send a test message to, is the list owner. [ ] Oh, also, I notice that even if I, as the Pro Dada Root user, hide the Mass Mailing section so that list admin log-ins won't be able to see it, the program still defaults to showing them the Mass Mailing >> Send a Message screen when they first log in. That seems less than secure... [ ] Invite mailings should probably use tmp lists in then db, since if anything goes wrong before that list is removed, your next invite gets all screwed up. And what about multiple invite mass mailings going at one time?! [ ] Manual in ePub format [ ] Docs on moving/migrating from MailMan to Dada Mail [ ] Markdown support - Write "PlainText" messages in TextTile, and have them formatted when shown in messages, etc - option to turn into HTML when sending? Power user option! [ ] ReWrite Digest stuff - make a digest list a sublist, allow subscribers to subscribe to either, "list" or "sublist" (or change that in the profile screen) digest members not allowed to post to list. For now. Cronjob can be same as Dada Bridge cron, just extra step - time to run the digest? What messages get sent out? Make the digest (RFC of format? Different options?), send 'er out. Or maybe not a sublist, but just a pref? That would make it easier went administrate. So: Every Message Every Day of Messages No Messages...? AND EXISTS ( SELECT * FROM dada_profiles_settings WHERE dada_subscribers.email = dada_profiles_settings.email AND dada_profiles_settings.setting = 'digest' AND dada_profiles_settings.value = 1 ) [ ] Always archive messages, but don't always show the archived message. Meaning, there's a new field, Called, "visibility" (or, whatever), that you can set to 1 or 0 - If it's 1, it's shown, if it's 0, it's not. [ ] - Ability to set a custom Feed URL (ie: Feedburner) [ ] Ability to have a, "I see your email has changed - want to change it in Dada Mail?" functionality in the list control panel. (I don't understand this idea, anymore...) [ ] Ability to NOT distribute messages to users (so for example if I'm using Mail Merge to create labels, I can clear those people I want to NOT print a label for). [ ] Bounce Handler- a way to pull up the original, offending message to view [] SpamAssassin plugin config for Dada Bridge? Just so it's easier to pass custom parameters to SpamAssassin, in Dada Bridge (just whatever is needed in new()) filter_subscribers enhancements it would be nice if, during the, "Add/Invite screen, you're allowed to see which subscribers you're trying to import have already gotten a subscription request - and if so, not allow them to get another invite/whatever. Just another hook into, "Limit Subscriber Confirmation" stuff. I think. [ ] Simple Subscribe/Unsubscribe by email mechanism in bridge.cgi message just has, subscribe or unsubscribe If so, Dada Mail just goes through the usual DADA::App::Subscriptions::subscribe|unsubscribe methods - except, anything that needs a HTML screen is handled by email - if it can be. (That feature has to be fleshed out - not too much more to go) Also, this is an optional feature - can be disabled. This can also - randomly be a way to work with Dada Mail's subscription process for outside scripts. Uh, maybe good idea? List Invitation Verbiage Sucks, maybe something more like, Subject: You've been Invited to Subscibe to, "My List" The List Owner of, "My List" (myemail@example.com) has invited you to Subscribe! Here's a brief description of the mailing list: Blah blah blah * To automatically subscribe, click here:...
tags which are spoiling my footing layout. This doesn't happen with 3.0.x. [ ] I've removed the line actually wraps lines in paragraphs and removed the option in HTML::FromText that says, "hey treat things as lines" - although the, "hey treat these as paragraph oriented" was also enabled... I may have to revert this problem. [ ] Hey, that seemed to have worked! ------------- [ ] List Owner Confirmed subscriptions What do I have to do for this? [ ] New List subtupe 'sub_request'? [ ] New thingy in the subscription process, AFTER (or in?) the subscription process that goes "Hey not so fast, bub, we still now need to confirm this subscription with the list owner - cause this list be CLOSED! [ ] New interface in the list admin control panel to confirm/deny a subscripiton Seperate than the other "View" Screens, since there's a different interface going on... [ ] If it's confirmed/denied, a new email message has to be sent out! Agh! Probably not as a mass-mailing - one at a time? [ ] Anything else? [x] List Invite not working? If I try to do a list invite (and follow the confirmation link), it tells me that the pin is valid, but I didn't first ask for a confirmation. Weird! And then, when I go through the confirmation process, the password sent to the address doesn't work. When I look and see what's up in the DB all the fields are NULL except, "email". Strange?! [x] I was using the wrong API in the code - this effects the master branch as well. Hopefully, when we merge, the problem will magically, "go away" (fix in this branch) [x] Admin menu. rearrange stuff. [x] Make sure to double-check these changes with everyone. [x] my changes are in the .dada_config file. Move over to Config.pm and example .dada_config's [ ] Double-check the changes with myself! [x] I need to perhaps make an option to that you cannot edit profile info, if you're not Dada Root. (no option, just... YOU CAN'T.) [x] Or make it clear that editing the information will deal with all lists. and/or have a way to know that a subscriber is on more than one list (and perhaps which lists?) (or a way to see a "public" profile? (turn on/off) [-] I need some basic form validation for the Profile Fields. Right now, all I have is length. The SQL stuff is properly quoted... What else?! [x] I need to change all instances of, "Subscriber Fields" to, "Profile Fields" [x] I need to make that SQL table upgrade thingy Something like: DETECT if there may be a problem. Test test test. (first get the prev. profile fields + email address) # HEY! Is there a way to do this just in SQL (find columns, EXCEPT @list_of_columns) INSERT INTO TestTable (FirstName, LastName) SELECT email, @profile_fields FROM Person.Contact WHERE EmailPromotion = 2 foreach(@profile_fields){ DELETE COLUMN from that_first_table } [x] I need to write up all these changes [x] Sigh. [ ] perhaps make a note about global unsubs in the profile? [x] You need to change the profile fields when they're listed_like_this, to be Listed Like This! [-] Profile Fields widget - is it in places where we don't want it? [ ] Some more live testing... [x] A "delete" profile function? What happens to the subscriptions? [ ]A master, "Unsubscribe me AND delete this profile" Thingy? [x] I need to merge all of the code that creates the query for the Profile Fields into ONE method, because it's getting complicated, it's being used in more than one place, AND people want to change it. A tall order, but probably, well worth it! [-] The, "Your subscriptions" thingy in the Profile thingy has to let you know, if you aren't actually subscribed to any lists. Right now, if you're not, it just looks broken. [ ] It would also be nice, that if you were the List Owner of a List, you'd also be listed as that. Special things, like that. Sigh. [x] Need a way to update an email address from the profile, and perhaps auto-merge, if the email address is already subscribed to an address. (it should probably be warned if this happens...) [x] Once the above are done, I need some major testing stuff to be made and then, we gotta wrap this up - probably make the 3.0.x to 3.1 script and call it a beta! [x] Some things to remember - the SQL needs new tables AND info has to be moved from one table to another.... sigh. [ ] Man, wouldn't it be nice to have an installer...? Sigh. [x] I need to make upgrade notes from Simple Scripts installs. [ ] The docs need to be clearer about how to work with HTML templates, and the like, [ ] double check bug fixes from 3.0.x are in 3.1.x... (3.1) [x] I need to make an option to says, "Hey that need Profile Fields info? Replace what my be there with, THIS, or, use what's there, if there's already something there, Probably per import, for now, [x] Gravatar bells and whistles in the profile screen [ ] CAPTCHA for, "hey, you've already *asked* for this damn subscription! screen - the check at the moment is too simple. [ ] Remember to move over any changes from 3.0.x to 3.1in POD docs... [x] Magic Subscription Forms - a way to turn *off*?! [x] I need to HTML-ify the list description in the profile screen. [x] I need a purge button for subscribers. [x] Currently, the following sites will be notified: is not listing anything... [ ] It would be nice to have an option that says, "Hey, that email template? Why don't we see it initially in the, "Send a Message" scrren - so, if I want to tweak it slightly - I can. The problem is, what if someone totally obliterates the, unsub info, thinking that the email template was going to be applied? Perhaps just a warning at the top, "The email template is plopped down below and won't be applied again" [ ] I'd also have to make a really really really good check, to make sure that, if there's nothing extra type, the email template isn't used. [x] Need option to turn FCKEditor off list-by-list - what if for some reason it's not working? Broken Dada Mail. [x] MIME-Tools require ver 5.8 of Perl, which I'm fine with, but we're still saying we ship needing only 5.6. MIME-Tools is having a hissy fit with IO:: stuff - so I may just ship with an older version of MIME-Tools, to get around that problem - I'll leave, MIME-Tools in DadaMail.pm, but I'll just ship with the older version (5.420) Send a Webpage: Give options on what to do with Javascript, Stylesheets: change links to embed Remove (or, if it's not too hard) Leave alone, thank you very much Also, sputter back any errors found, hooking into the MIME::Lite::HTML stuff I'll probably have to make my own parse method. Sigh. And include_js method. Stupid. Also: http://rt.cpan.org/Public/Bug/Display.html?id=36005 [x] "You may only change the Profile Fields if you are logged in to an existing list using the Dada Mail Root Password." [x] "Use underscores, instead of spaces - no funny characters, and use lower case characters instead of uppercase. Make the attachment limit somewhat flexible? Check in FCKeditor_default_value_widget.tmpl Perhaps fill in with a similar default value that FCKeditor uses, but all on one line? Will that work Have the DADA::App::FormatMessages::pre_process_msg_strings() subroutine know about the default_value that can be user-setable. Wooosh! (and that way, also, Beatitude can use this default value, yeah!) I have to update the perllib stuff, including: MIME::Parser Time Date Schedules do not get deleted, when a list gets deleted, which means, if you create new list with the same shortname, the old schedules will magically work again. Gotta update LWP - perhaps have it not "live" by default. I probably have to... I forgot :) This is more of a scratchpad, than anything else. 3.1 Change the Clickthrough Tracker to change all the URL's found to Click trackable: http://search.cpan.org/~bdfoy/HTML-SimpleLinkExtor/lib/SimpleLinkExtor.pm 3.0 [x] Probably take the send_email, send_url_email and possibly list_invite and put them into their own modules, ala DADA::App::Subscriptions, so I can call them in other modules (or, whatever) and also have it WAY easier to test with. Although, I do see where this is all going - I'm haphazardly reinventing CGI::Application. Hopefully, this'll just get the code *ready* fro CGI::Application, and I just don't keep writing silly modules, like this. But, yeah, it would *really* be nice for testing purposes... [ ] Something has to be done about error messages in the multiple subscribe script. Perhaps have a little ajax window with the error message (the same one you see in the, "there's seems to be a problem, but without the header/footer) when you click a, "Huh?" button, or something. I hates me that extension. [ ] It would be really nice to make my own include type for HTML::Template, powered simply by filters - the catch is that I want to be able to pass variables, so the tag would look something like: and the filter just looks for: And variables are parsed via: my $str = $1; my @vars = split(\s+, $str); my %named_vars; foreach(@vars){ my ($name, $value) = split(':', $_); $value =~ s/^\"|\"$//; } And then pass the vars to HTML::Template (again!) and replace the tag with what that's returned with. I'm assuming you understand how bug-ridden the above is and would not attempt to do copy/paste this. [+] Damn it: http://osdir.com/ml/lang.perl.modules.html-template/2006-12/msg00004.html [x] Probably make a module named something like, HTML::Template::MyExpr and make that like, one little change. Sigh. [x] Perhaps have two mail settings- one for mass mailings, one for everything else. # (Would make things that need to be sent, sent FAST!) [*] Talk to the reCAPTCHA CPAN guy and get 'em to distribute a Pure-Perl compatible version of his module (shouldn't be hard) [+] Talkin': http://rt.cpan.org/Public/Bug/Display.html?id=31740 [+] Meh, it ain't goin anywhere, the PP version Really really needs to be rewritten, because it sucks! [ ] Get rid of DADA::Template::HTML, since it's stupid and horribly written and being superceded by DADA::Template::Widgets anyways [ ] Add a, "wrap" parameter to DADA::Template::Widgets::screen, so that you can do the things DADA::Template::HTML does, but do it better [ ] Get rid of that option to have