Arantor

  • As powerful as possible, as complex as necessary.
  • Posts: 14,278
Converting WedgeDesk
« on September 6th, 2011, 12:02 PM »
In advance, I'm sorry. Most people probably aren't that interested, but I need to just take a moment to clear my mind, and I find the best way to do that is to book-end what I've just done, so that I can close off one part and open another.


Although I've described WD as less of a port and more of a rewrite of SimpleDesk for Wedge, I did actually have a greater plan in mind from the start: to make SimpleDesk/WedgeDesk run on Wedge with as little fuss as possible, and slowly convert things over time to Wedge's style.

Now I've started that, I found out just how much fun this process is going to be :P Partly because I want it to work but also if I'm working on the plugin system that binds the two together, I want to be reasonably sure that I'm chasing down bugs in the plugin system rather than bugs in the plugin itself. Been there, done that, do not wish to repeat.

After several hours last night and 3 hours pretty much solid this morning, I've actually got it to the stage where it will install using the old package manager. It's still broken in a number of exciting ways (can't post as I haven't converted the richedit stuff, JS is broken because I haven't integrated the JS minifer or jQuery stuff, and most of the templates are still broken) but it is actually beginning to come together.

There are some... interesting behaviours that I need to fix though.

Notably, uninstall is broken due to caching and what looks like a bug in the remove hook routine, and the side menu implementation in the profile area conflicts in a fun way with the current sidebar code, namely that the sidebar thinks it's collapsed within the area of the left menu (even though it's aligned to the right of the left menu, and when you hover it goes even further into the middle of the screen!)

There's not a lot to share in the way of screenshots. It looks like Wedge running a very broken SimpleDesk, which is what it is. But progress is being made.
When we unite against a common enemy that attacks our ethos, it nurtures group solidarity. Trolls are sensational, yes, but we keep everyone honest. | Game Memorial

Nao

  • Dadman with a boy
  • Posts: 16,082
Re: Converting WedgeDesk
« Reply #1, on September 6th, 2011, 12:28 PM »
I've always been wondering... Are you working on WedgeDesk because you can't get rid of it in your head, even though you stopped working on SimpleDesk to... focus on Wedge? :whistle:
Also, can you actually pronounce "WedgeDesk" 10 times without stuttering? I can't even do it twice. "WeDesk", maybe...? "weDesk"? "DeskWedge"?

My sympathies for your sidebar issues... :P

Arantor

  • As powerful as possible, as complex as necessary.
  • Posts: 14,278
Re: Converting WedgeDesk
« Reply #2, on September 6th, 2011, 01:13 PM »
Quote
I've always been wondering... Are you working on WedgeDesk because you can't get rid of it in your head, even though you stopped working on SimpleDesk to... focus on Wedge?
I'm working on it because I learned a very hard and very valuable lesson during SD's development. Namely that if I'm going to spend any time working on a plugin setup, I need a known working plugin first. It's like the chicken and the egg, and I spent an inordinate amount of time last summer, and earlier this year, chasing down bugs that were intermittent and apparently untraceable - because I was looking in the wrong places for things, like looking at the plugin manager when it was a plugin bug and vice versa.

This way, I can build it to not require any edits, and gradually convert it to make use of the newer add-on manager, whereupon I know it's working as it should be, without having to fix a bajillion things and not really knowing what's to blame and what's broken.

Plus it gives me a good way to apply my theory of how add-ons should work in a real and practical way; there aren't many plugins as big and complicated as SimpleDesk is, that integrate as tightly (but cleanly) as SD does to SMF, and believe me when I say it does an insane number of things, some of which I don't think have been done before or since.

For example, it actually modifies the language editor code, so that when you see the list of language files to edit, SD's are at the top and with 'nice' names for each file, not the mashup filename you normally get (and that happened because I was fed up dumping language files into the main languages folder and wanted to keep SD's language files to itself, in a very definite move that echoes how I want Wedge's add-ons to work)


As for the sidebar, I'm going to move all the SD profile sidebar items into the regular sidebar, and be done with it, so the problem goes away.
Posted: September 6th, 2011, 01:07 PM

Re the name, I'm honestly not sure. WedgeDesk seemed natural but I don't worry about saying it many times fast - SimpleDesk pretty much fails that test too.

Mind you, the repo name is wedesk so maybe I'll end up switching it to that... Don't know, not really bothered by it at this stage...
Re: Converting WedgeDesk
« Reply #3, on September 6th, 2011, 06:02 PM »
Hmm, I think ticket layout is mostly done now. (Attachments... hmm, haven't done that, is going to be broken in a variety of fun ways.)

📎 wedgedesk_2.png - 48.44 kB, 640x512, viewed 437 times.


Dismal Shadow

  • Madman in a Box
  • Me: Who is Arantor? Cleverbot: It stands for time and relative dimensions in space.
  • Posts: 1,185
“I will stand on my ground as an atheist until your god shows up...If my irreligious bothers you much, and if you think everything I do is heresy to your god I don't care. Heresy is for those who believe, I don't. So, it isn't heresy at all!


   Jack in, Wedge,
   EXECUTE!

Arantor

  • As powerful as possible, as complex as necessary.
  • Posts: 14,278
Re: Converting WedgeDesk
« Reply #5, on September 6th, 2011, 10:10 PM »
And SD 2.0 made great use of hooks, so much so that it was far more compatible than 1.0 was (out of curiosity I tried it, heheheh)

MultiformeIngegno

  • Posts: 1,337

Arantor

  • As powerful as possible, as complex as necessary.
  • Posts: 14,278
Re: Converting WedgeDesk
« Reply #7, on September 7th, 2011, 02:55 AM »
Well, the hooks part was pretty easy to change over, the DB stuff was almost entirely automated, I'm currently working through the templates to convert them to Wedge coding but that's a bit tedious, and I'm also rewriting a number of things as I go, like making use of weToggle instead of half-baked hacky versions of the same thing.

Getting it all to play nicely is why I wanted to do it this way, so I know when I start using the proper add-on manager, that I make absolutely sure I'm hunting down add-on manager bugs and not WedgeDesk ones.

Right now there is still a fair bit that's fragile, but it is coming together and the parts I have tweaked (like the screenshot, putting the relationships and notifications blocks into the sidebar) look the better for it. I'm debating dropping some of the existing layout and heading towards a bit like the normal topic display does, with the poster info on the right... but we'll see, that's not finalised yet.
Re: Converting WedgeDesk
« Reply #8, on September 7th, 2011, 11:18 PM »
Just thought I'd share this particular oddity. I have no idea why the sidebar is here.

(Nao: the sidebar appears slightly to the right of where it's supposed to be when the page loads - and it thinks it's in the collapsed position, so hovering on it pushes it out to here. This is the thing I already mentioned and I'm willing to bet it's caused by the abuse of template layers and divs to create that left menu.)

📎 wedgedesk_3.png - 41.46 kB, 640x512, viewed 342 times.


tfs

  • Wow! You guys have been busy beavers. :)
  • Posts: 78
Re: Converting WedgeDesk
« Reply #9, on September 7th, 2011, 11:47 PM »
Can't wait to take it for a spin!

WedgeDesk
Wedge HelpDesk
Wedge Ticket System
Wedge Tickets
Wickets!  :)
"God is dead." -Nietzsche 1883
"Nietzsche is dead." -God 1900

Nao

  • Dadman with a boy
  • Posts: 16,082
Re: Converting WedgeDesk
« Reply #10, on September 7th, 2011, 11:50 PM »
Pete.  Does it use custom CSS? Is the enclosing div called edge or edgehide?

Wickets?
Eh! Let's rename our plugin system to Wedgets :P

spoogs

  • Posts: 417
Stick a fork in it SMF

Arantor

  • As powerful as possible, as complex as necessary.
  • Posts: 14,278
Re: Converting WedgeDesk
« Reply #12, on September 8th, 2011, 12:02 AM »
Oh, it's definitely going to be WedgeDesk, I already bought the domain names for that. I event spent some time mulling over how I think that site should look and function, seeing that it'll be just me designing for it.

In other news, I already have a list of things that I'm considering for future versions, which includes bug fixes of things I've found. (It's currently at 43 items, though some of those are notes for me for things to fix in the conversion)

I'm not averse to suggestions but it will very firmly go at my pace since there's no-one 'encouraging' me to work on this, so right now I'm concentrating on getting it up to speed for Wedge so that I can begin properly on the add-on and permissions overhauls. After that, I'll be more open to suggestions and so on, but the grand plan is to actually run WD as the primary module on wedgedesk.com, to function as both support vehicle and bug tracker. I mean, if you're going to do it, you gotta go for it properly, right?[1]

But I really want to have it not only out there to be a good mod for Wedge, to showcase what it can do - but also it'll be another way of promoting Wedge, and of promoting what can be achieved with sufficient care and attention. It may even help push Wedge's adoption not only by demonstrating that big, powerful add-ons can exist, but that there isn't the same issue against paid add-ons.[2]


@ Nao: It does use custom CSS. The enclosing div is not called either edge or edgehide, but it IS done by wrapping template layers around the entire content. When I said it was abuse of template layers, I really meant it: two divs are created, shd_left_column and shd_right_column. Left contains the left menu, the right column is opened in the _above layer, contains the main subtemplate, then closes it in the _below, which means it ends up containing the entire sidebar in it as well.[3]


I like Wedgets too, I actually nearly suggested Wedgelets quite early on but then I remembered how Java took that concept and screwed it up[4] with applets and servlets.[5] But Wedgets beats Wedgelets. And either of those are better than what I semi-seriously suggested for SD at one point.[6]
 1. The plan always was to move to SD on sd.net, since there's nothing technical really preventing it from replacing PT, it's mostly semantic difference, but a lot of that gap I can actually mitigate in WD with some of what I have planned.
 2. Even if paid mods end up being powered through wedge.org in some fashion, I'm still going to be running wd.com simply because that's the single best way to showcase it.
 3. I did not write the markup, and it's done that way because the menu reacts also to the << sidebar stuff in SMF, specifically that if the menus are dropdown, SD profile menu is a sidebar menu, and if the menus are sidebar, there's a little horizontal navbar above the content.
 4. Like most things in Java, really.
 5. Yes, servlets is a real Java term.
 6. "Drawers". On the basis that SD was a *desk* and desks have drawers. It made sense in my head.
Re: Converting WedgeDesk
« Reply #13, on September 8th, 2011, 04:42 PM »
OK, so by now I've done most of the template conversions. (The old plugin manager isn't, but to be fair, it's obsolete once Wedge's is done, so I'm not that bothered about it...) And most of the other conversions are done, so really, most of what's left to do is bug fixing and tidying up, but before I got into that (as a prelude to converting it to being an add-on), I thought I'd overhaul the ticket UI.

Don't get me wrong, what Nas did was very nice, but we're 18 months on, and I'm a bit fed up of it now, so I thought I'd emulate Nao's work elsewhere.

It's only taken me 20 minutes of hacking to get this to work like this, but here's what I have thus far. (In case you're wondering, it's based on the main post view)

Yes, it's buggy (in multiple ways) but it does at least work, and it'll probably come to resemble Wedge's layout more in time, like removing the upper menu and switching it to a collapsible one like Wedge uses (leaving reply/quote as normally accessible, and everything else as menu items)

I have to say, I'm really liking where it's going, but that's just me.

📎 wedgedesk_4.png - 44.68 kB, 640x512, viewed 318 times.


Dr. Deejay

  • Happy new year all!
  • Posts: 118