thunderbird extension - iterate over messages in a folder - message

I'm writing a thunderbird extension that should monitor one or more folders (from the left pane of the application) and if there are messages added to one of the monitored folders, they are sent automatically via webdav to a server (for archiving).
I found here how to iterate over all folders in all accounts. My question is how can I iterate over the messages (mails) in a folder

The nsiMsgFolder interface should provide everything you need. If you want to react on incoming messages, I'd register a nsiFolderListener. It gets notified everytime a message is added to the folder.
You could check if these snippets help you.
I also found a somewhat older document detailing the mail event system. It is flagged as in need of technical review but might give you a decent starting point.

Related

Modifying Hyperledger Composer WebApp

I've completed the Hyperledger Composer Developer tutorial https://hyperledger.github.io/composer/tutorials/developer-guide.html and I've generated the BNA, deployed it to a local Hyperledger Fabric 1.0 instance, generated the REST API, and generated the skeleton webapp using yo.
However, I noticed that the resulting webapp only has a menu for adding assets, and none for adding participants and submitting transactions. I have two questions:
1) Why doesn't the webapp generate menus for adding participants and submitting transactions? (or does it, and how do I get it to do that?)
2) In an attempt to add the ability to add participants and submit transactions through the webapp, I've looked through the app directory for the relevant source code but became confused as I'm relatively new to web/angular dev.
Is there any reference documentation to show which source files need to be edited to add participants and transactions?
As far as I can tell, \src\app folder has the source files but I don't understand the roles that each of these files play:
app.component.html has the actual HTML menus, but what is this [routerLink] referring to?
I noticed for each asset that there is a subfolder with a CSS, HTML, and three .TS files. Are these needed for each participant as well?
Any direction or reference on how to modify the web app to accommodate adding participants and transactions would be much appreciated.
1) Why doesn't the webapp generate menus for adding participants and submitting transactions? (or does it, and how do I get it to do that?)
Because its a very simple skeleton NG2 app scoped to assets, which you as a developer can add to. You can easily add REST API calls (operations) from your Angular app to (for example) submit transactions. This is how you should interact with the runtime Fabric using Composer REST operations.
2) Is there any reference documentation to show which source files need to be edited to add participants and transactions?
This is a straightforward Angular tutorial https://angular.io/tutorial and here https://angular.io/guide/quickstart - and this tutorial will help explain Angular further.
The dataservice in the generated App is where the current 'asset' REST operation is called from and further REST operations can be added here -> /src/app/data.service.ts

How to move message to Trash folder using IMAP?

Spent hell lot of time to find a proper way to move or delete messages but didn't found any. Every email service acts different. Please help =(
When I try to perform "set delete flag > expunge"...
aol.com and outlook.com - email just disappears without being copied to "Trash".
gmail.com - email is copied to "All".
mail.ru - the only case where it goes to "Trash" after expunge.
I checked on Thunderbird logs and I saw that when user wants to "Delete" a message it just performs default IMAP "Move" operation. I tried to emulate it with "copy > set delete flag > expunge", but result wasn't the same...
gmail.com - two copies of deleted email in "All" and "Trash" folders.
mail.ru - two copies of deleted email in "Trash" folder.
aol.com and outlook.com - haven't checked yet.
Seems like without "Move" all tries to delete or move a message to a different folder are useless...
Not all IMAP servers will have a Trash folder, since it does not exist in the IMAP RFC. (To find out which folders exist, use the LIST command.)
The world has changed a lot since the IMAP RFC was written, and many users expect a kind of Trash folder with restore/undelete capability. So servers and clients bend the RFC a little to emulate that behaviour. I would suggest that you make your behaviour configurable on your client (e.g. with a setting called something like "Move messages to trash when deleted?") This is what a lot of clients do (e.g. K9 mail)

Pentaho 5.0.1 CE Adding folder to pentaho-solutions directory

How do I get a folder to appear in the browser after adding it to \pentaho-solutions in Pentaho 5.0.1 CE. The documentation I read does not seem to work with this new version.
1. Create a new directory in /pentaho/server/biserver-ee/pentaho-solutions/.
Use underscores instead of spaces in the solution directory name. Ensure that the directory has the appropriate user
and group ownership to be writable from the BI Platform.
2. Using an XML-aware text editor (or Design Studio), create a file named index.xmlin your new solution directory.
3. Copy the following text into the index.xml file, changing the content accordingly:
***<index>
<name>Example Solution</name>
<description>This solution contains examples I created while learning to
work with action sequences.</description>
<icon></icon>
<visible>true</visible>
<display-type>icons</display-type>
</index>***
4. Save the file and close the text editor.
5. Log into the Pentaho User Console as an administrator.
6. Refresh the solution repository cache by going to the Toolsmenu, then selecting the Refreshsubmenu, then
clicking on Repository Cache.
You now have a new solution directory. It will show up in all file dialogues in the Pentaho User Console as well as the
Solution Browser in the left pane.
Every time you add or edit an action sequence to your solution directory, you must refresh the repository cache as
explained above. Each user currently logged into the Pentaho User Console must also refresh their session cache; this
is best done by re-logging into the Pentaho User Console.
I am using Pentaho design studio to develop an xaction sequence script. I followed this procedure:
1. In Design Studio, go to the Filemenu, then select New, and click on Other...in the sub-menu.
The Newwindow will appear.
2. In the Newwindow, click the triangle next to Pentaho, select New Action Sequence Wizard, then click Next.
3. In the File namefield, type hello_world.xaction.
4. Select Hello Worldfrom the Templatedrop-down box, then click Finish.
The wizard will generate the new file and bring you back to the workbench.
5. Click on HelloWorldComponentin the Process Actionssection on the left.
The right side of the screen will change to show the options available for this action: Nameand Message. The
Name field controls the name of the component in the Process Actions list on the left; it doesn't do anything else of
note. The Message field contains the text that will appear on the screen when the action sequence is run. It is prepopulated with %quote, which is a token that represents a quote message in a nonexistent properties file. Pentaho
used to provide properties files for each example, but they have been removed from the standard Pentaho Business
Analytics distribution.
6. Replace the %quotewith a sufficiently inspiring message.
Alternatively, you could create a hello_world.propertiesfile and populate it with the appropriate messages and
tokens, but that has no advantage unless you intend to internationalize this action sequence.
7. Save the file.
You now have a working action sequence that prints a short text message: "Hello, World." plus whatever you typed into
the Message field. The first part of the message is determined by a message bundle packaged with the Pentaho Web
application archive.
To test the action sequence, use the Test tab if you are on Windows or OS X, or log into the Pentaho User Console and
run it from the Solution Browser.
Running the sample xaction fails with
Sorry. We really did try.
Something went wrong. Please try again
or contact your administrator.
I figure this is because pentaho cannot locate the xaction file as specified in the file path when I generate the url from within design studio. The folder I created within the solution directory does not appear in the browser directory list despite refreshing the cache. Any help?
With Version 5 the files and folders are no longer stored in "/pentaho/server/biserver-ee/pentaho-solutions/..."
It is stored now in a jackrabbit repository.
You can create folders and upload files in the user console.
I did mistake after starting biserver 5.2. Unexpectedly i deleted Public folder after configuring to jackrabbit. Now how do i create the folder so that i can see Public and Home Folders.
Sorry for getting back to this question some time later, just in case someone searches something related to Pentaho repositories management with no success, i hope this information can help.
Just to make things more clear, i'm using version 5.2.x and i'm supposing you want to create a new folder on the root directory of Browse Files screen, something that is not allowed on Pentaho5 CE Web Console.
The answers about repository management based on JackRabbit are correct, so the old way we used to configure new "solutions" folders doesn't work anymore. From version 5 on, Pentaho exposes an interesting REST api that allows you doing things not allowed in web console.
For instance, for creating a folder in root directory you should create a http REST PUT request against Pentaho Server (using tools like curl or if you appreciate Google Chrome, something like Advanced Rest Client, etc.) using the following URL:
http://localhost:8080/pentaho/api/repo/dirs/:new_directory_name?userid=admin&password=password
Pentaho repository directory REST api is documented here:
http://javadoc.pentaho.com/bi-platform500/webservice500/resource_DirectoryResource.html
It's worthy to spend some time reading REST API the documentation.

SharePoint 2007 Publishing Site

Created a new Publishing site to serve a portal for our division. It contains several custom coded webparts that fetch data from the db and/or RSS feds and outside links.
I found it absolutely dumb that as a owner I'm having to approve my own page. Is there was to turn off this functionality? Or modifying so that only a document library runs through the approval process?
In the edit mode, there is a link "Reminder: Check for Unpublished Items" and if I click it all of my web parts and all the links, pictures, and other contents within these web parts are highlighted with a fat dotted red line. How do I get rid of this since what sharepoint is complaining about is embedded in these webpart?
If I try to create a doc library called "Announcements" I get an error:
"The resource cannot be found.
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.
Requested URL: /Announcements/Forms/AllItems.aspx"
For some reason it does not like the word, as I can call it BuggsBunny and all is fine. Is "Announcements" a key word of some kind in SharePoint? I really need to create a list with this name.
Thanks,
Risho
I found it absolutely dumb that as a
owner I'm having to approve my own
page. Is there was to turn off this
functionality? Or modifying so that
only a document library runs through
the approval process?
You should choose, when you are creating your site, a "Publishing site" template rather than a "Publishing site with workflows". The main difference between these two is the fact that you'll approval workflow on nearly everything activated with the later while the former is free of it but still allows you to activate it if needed
there is a link "Reminder: Check for
Unpublished Items" and if I click it
all of my web parts and all the links,
pictures, and other contents within
these web parts are highlighted with a
fat dotted red line. How do I get rid
of this since what sharepoint is
complaining about is embedded in these
webpart?
Don't know where you are hosting your webpart ressources (style library, document library, image library ? outside of SharePoint ? On the 12 hives ?) but if they are within SharePoint libraries and the content is not published with a 1.0 version available for the readers, you'll have this error. Deactivate the approval workflow or publish AND approve theses items. Please also note that external content will probably trigger this red link, but I suggest you to use a limited "visitor" account to check up the final rendering. The "outlining" is a nice addition but it's not always working as expected, mainly with external content.
If I try to create a doc library
called "Announcements" I get an error:
"The resource cannot be found.
Description: HTTP 404. The resource
you are looking for (or one of its
dependencies) could have been removed,
had its name changed, or is
temporarily unavailable. Please review
the following URL and make sure that
it is spelled correctly.
There is a default annoucement list in SharePoint (with its dedicated template, not sure that you have one provisioned with the publishing template that you picked, that might be a reason why you have this strange error. The default announcements list or its template is not a document library. If you want a document library with that name, and that specific name gives you that error, I suggest that you create a document library called AnnouncementsDocuments and then change its title for "Annoucements", that way the url will be clean of the dreaded name and you'll have the specified title.
For the error message, have a look within the source of the error message page, you might have, in some comments, more information that might help us to help you.
Hope it will help :)

ActiveX Control always working on my machine - unpredictable behavior on others?

I have a question about my ActiveX control not always working in IE on other machines.
Context: I'm working on an internal app for my company. It is designed to be a standalone web-page config tool for viewing a static customized version of our web app. The user may select the colors, images, and other settings they would like to see, and these will be present in the static mockup/preview version on their machine when they click a button.
Implementation: my javascript file creates a filesystem/activex object that essentially creates a temporary javascript file to which a list of values are written. Then when the user previews the configuration, the javascript file is located and values are loaded dynamically into the dom, etc etc. Naturally this functionality only works in Internet Explorer and is shady at best, but is my only way of implementing a purely zero configuration, client-side dynamic webapp.
Problem: When I test out my script, Internet Explorer prompts me twice about ActiveX controls and I say "yes" to them and the ActiveX functions work. I do this every single time I open my page. But sometimes when I send the file to another person so they can use it, they don't get the notifications so it doesn't work. However sometimes they do get notifications and it does work! I am using default security settings for IE so there should be no difference between my settings and theirs.
Could this be related to my user permissions vs theirs, or the fact that the files are read-only (because they are coming from source control and are also being made read-only when put on the shared drive.) or unknown dark Microsoft forces beyond human comprehension?
Thanks,
Josh
I believe you may want to create an HTA (HTML Application) instead of a web page. Writing HTA's gives you more privileges as far as ActiveX objects are concerned. Check out this page from Microsoft: http://msdn.microsoft.com/en-us/library/ms536496(v=vs.85).aspx.
To answer your question about privileges, I believe that some of your coworkers' IE settings probably prevent web pages from using ActiveX objects. Your settings may be such that you are prompted whenever ActiveX object are about to be created.

Resources