Page 1 of 1

PopTray Dev Environment

Posted: Thu Dec 29, 2011 1:58 am
by jojobear99
Can anyone point me in the right direction as far as getting an environment set up to compile poptray from source?

I know you need Delphi 7, but which edition? Is the free personal edition sufficient?

Once Delphi is installed correctly, how can one verify whether the dependencies are correctly installed? It looks like the CoolTrayIcon you install with the install component menu, but what about the ActionBands Patch? It came with an installer, but the installer is giving me an error "Skipping file: c:\program files\borland\delphi7\bin\dclact70.bpl File not found." and there's no how to compile poptray guide for people who aren't delphi pros already that I've found ;-)

Posted: Thu Dec 29, 2011 10:49 pm
by jojobear99
To ammend, I got it to (mostly) compile after I changed Delphi 7.0 from Personal Edition to Enterprise edition, looks like the version of Delphi does matter.

PopTray Dev Environment

Posted: Fri Dec 30, 2011 12:02 pm
by Zythan

Please keep the forum updated on your progress, I am sure that there are a lot of Poptray users that will be interested to know if you are able to take Poptray further.

If you require testing of any kind just let me know.


Posted: Sat Jan 14, 2012 12:49 am
by jojobear99
Thank you for your encouragements Zythan. I will certainly let you and others know when I have something stable and ready for testing.

I am having good success at writing code to parse UTF-8 subjects for Ansi subject lines (subject lines with non-ansi code-pages is a whole other ball of wax, especially in Delphi 7 but we'll see whether I can make that happen as well or not), as well as adding HTML message preview, so it will be coming in due time.

Once I have stable working code that handles the corner cases well, I would like to release my improvements to the open source community. Does anyone know whether Renier accepts patches for feature additions (presuming of course that the new code is appropriate for the license poptray is released under), or whether I would need to fork the project to release my improvements?

Posted: Sat Jan 14, 2012 7:05 pm
by Rdsok
Obviously I can't speak for Renier but I can say what has happened in the past and what was talked about being implemented even if it didn't make it public.

As mentioned on the main website ( briefly ), contact Renier if you have any changes you believe can be included and that doesn't "break" the GPL. He would then consider including the code in the official Poptray. If it wasn't something that Renier thought should be included in the official Poptray and it still didn't break the GPL, the author could still publish the forked version ( probably with a different name so the two wouldn't get confused ) as long as the proper credits were given... ie typical GPL

The last programmer that did attempt to make changes... and as far as I know they did work... but they broke the GPL since it included modules that required other licensing. The other programmer took offense to this issue and it got a bit ugly even though these stipulations are spelled out in the current license agreement. I guess I'm just trying to say... if the code doesn't end up getting included in the official Poptray, don't take it personally... Renier is simply trying to protect Poptray's reputation as well as making certian the GPL isn't broken in the process.

The biggest issue with the proposed changes has probably been trying to parse the UTF-8 while still using Delphi AND still not include other modules that breaks the GPL ... AND do it without introducing other bugs. Renier was working hard on this issue up until his real work ( ie the one that actually paid the bills ) finally took him away from actively programming on Poptray itself.

Renier had also mentioned working on rendering the HTML so the formating was retained but none of the risky scripting was parsed in order that Poptray never became a security risk that could end up affecting a users computer.

In addition to these and the list of "TODO"s that were not completed... There has been discussions on updating Poptray's code to the newer versions of Delphi.. Renier said this would take quite a bit of work but was do-able but I doubt it was high on his own list. Vista/Win7 compatibility has been asked for by many users as well... most of the current versions issues with this can be worked around but still they all said it would be nice if those steps weren't needed.

There were other suggestions being requested... but the above were some of what I considered the more important issues. More info on these and other subjects can of course be found using the forum search if more info is needed.

Posted: Sat Jan 14, 2012 7:47 pm
by jojobear99
Thanks for the additional information :)

I was able to parse the UTF-8 subjects using Indy's built-in MIME decoding modules and the Delphi's native methods for decoding Utf-8. It's not "full" international character support at this point, anything outside of the ansi codepage will show up as a question mark. But that's still a significant improvement from displaying =?UTF-8?=Q=, and fixes all the quoted printable spaces and whatnot so "mostly english" (such as Flickr notifications) is much more legible. Does my approach sound GPL-compatible so far?

I do hope to look into full international support, but like you said about needing to find a suitable set of WideChar VCL components that would be compatible with GPL, or undertaking that massive project of porting it to a newer version of Delphi...But either way, that's a much bigger project, not something I'm ready to tackle just yet.

For HTML preview I am using Delphi's built in TWebBrowser component which uses Windows/Internet Explorer (whatever version the user has on their machine) render the HTML. Right now I'm not doing any filtering on the HTML, but pre-processing the HTML to remove any HTML between script tags, for example, before passing it to the browser would definitely be a possibility. Any information about specific requirements to sanitize the emails would be appreciated so I can make sure to address and test for that. Any issues you could forsee about GPL with using TWebBrowser? From my understanding of GPL, I think that would be an acceptable component to use?

Posted: Sat Jan 14, 2012 8:41 pm
by Rdsok
I'm not the one to ask when it concerns anything to do with programming...

General rule of thumb...

Don't ask a computer tech any programming questions... and the reverse also usually holds true.. don't ask a programmer how to fix a computer. :D :o

But seriously I may be able to point you in the direction to find an answer...

On the Indy modules... check out their license agreement to see if they are GPL complient. The same should hold true for the TWebBrowser component... you'd need to read it's license agreement to know for certain.

I can only guess about security issues using a component that utilizes a known HTML engine whether it is IE based or any of the other engines. I suspect they all have known security issues since I now see computers that get infected no matter which browser the user has chosen. That means that it probably isn't safe to render with IE, Chrome, Mozzilla ( Firefox ) or Opera based HTML engines without a lot of preprocessing to sanitize the code first.

That is probably not much help other than in general... these types subjects are just not my area of expertise. I can "see" possible issues because of my computer experience, but have no answers on how to address them from a programming perspective.

Posted: Thu Jan 19, 2012 1:33 pm
by Renier
Thanks Rdsok for still checking the forum and answering questions, even though I've mostly left this project behind.

I have replied to jojobear99 in an email.

I basically recommended that she fork the project since I don't even own Delphi anymore to compile or test PopTray.

PopTray Dev Environment

Posted: Sun Jan 22, 2012 12:07 pm
by Zythan

Hopefully it will not be long before we can benefit from this new fork.


Posted: Thu Mar 15, 2012 11:46 pm
by jojobear99
Zythan, and others who have expressed intrest in my project: If any of you are interested in helping me forge the direction for PopTrayU, I need a few people to voice their opinions and give outside perspectives on how you use the program, what bugs/features are important to you, what bugs that have existed "forever" in PopTray really just ought to be fixed, what things you like and dislike, how you'd like to find out when new beta versions are available, whether changes introduced in PopTrayU are beneficial, etc. Other developers who may or may not be familiar with Delphi would be especially helpful as well in the discussions :)

If you are interested, please see one or more of the following resources. I don't want to take over Renier's message board with endless discussions of a forked project ;-)

Voice your opinions for me:

Discuss things I'm working on developing in the app:

File tickets for existing unresolved bugs in PopTray that affect PopTrayU as well: