WatchedFolderEndpoint, Stage folder filling up
I have a service in Livecycle ES that processes PDF files, via a WatchedFolderEndpoint. When the process is complete the original files are no longer needed. I have the watched folder endpoint configured to only preserve on failure, and that is working correctly. The issue is that the files that are in the stage folder never get deleted, even after they have been processed. I know that the files have been processed because I can see them in the database, which is the last step of the service. The folder is on a remote (to the livecycle server) path, and I don't think its a time issue because there are folders in there from the previous day.
My question is this, Why are the PDFs staying in the stage folder after being processed? The watched folder endpoint is used to pickup documents that have been placed there by scanners and we get around potentially 800~1000 a day, so this issue could eat up a lot large amount of disk space very quickly. Right now its manually being deleted periodically.
Here are the settings for the watched folder endpoint:
Path = \\xxx.xxx.xxx.xxx\SomeFolder\AnotherFolder\
Asynchronous = True
Cron Expression: = 0/20 * * * * ? (Every 20 Secs)
Repeat Count = -1
Throttle = false
Username = SuperAdmin
Domain = DefaultDom
Batch Size = 15
Wait Time = 1000
Include File Pattern = *.pdf
Result Folder = empty
Preserve Folder = empty
Failure Folder = failure/input
Preserve On Failure = true
Overwrite Duplicate Filenames = false
Purge Duration = -1
We found this same issue where the stage folder filled up to about 29,000+ folders and files and the CPU utilisation went to 100% and never dropped. The server system process was constantly trying to parse the stage directory and as it filled up was thrashing the CPU & disk.
You HAVE to set the result directory parameter in the WatchedFolder Startpoint Endpoint configuration even if you arent using it and set it to purge after 1 day (or anything other than -1 which is never delete). This way the stage folder will self-delete.
Similar Messages
-
11g demo install and missing WLS_FORMS\stage folder
What would cause the stage folder under C:\Oracle\Middleware\user_projects\domains\ClassicDomain\servers\WLS_FORMS to get created?
I have 11.1.1.3 frpd installed and am running forms successfully from the 11.1.1.3 Forms builder with WLS 10.3.3. But I don't have this stage folder and the 11g forms demo instructions say to put frmjdapi.jar in ....\stage\formsapp\11.1.1\formsapp\formsweb.war\WEB-INF\lib and to edit weblogic.xml in ....\stage\formsapp\11.1.1\formsapp\formsweb.war\WEB-INF.
A search for weblogic.xml turned up several copies but all are under WLS_FORMS\tmp. The closest I found is C:\Oracle\Middleware\user_projects\domains\ClassicDomain\servers\WLS_FORMS\tmp\_WL_user\formsapp_11_1.1\e18uoi\war\WEB-INF. That's not the right place is it?
Edited by: Tammy Osborn on Oct 22, 2010 1:01 PM
Edited by: Tammy Osborn on Oct 22, 2010 1:01 PM
Edited by: Tammy Osborn on Oct 22, 2010 1:02 PMThe answer is yes, use the tmp folder instead of the stage folder specified in install instructions.
-
I somehow deleted a folder filled with bookmarks from Safari. I have the same folder on my Firefox application. How do I transfer the folder on Firefox over to Safari?
I found the post under the "More Like This" window at the top right of the Discussions page:
Essentially, it led me to:
In my case I didn't want to import all of my bookmarks, just a folder.
What I did was: In Firefox: Bookmarks > Organize
Select the file folder of bookmarks I wanted to move to Safari
Under the "star"icon in toolbar, select Export HTML
Select location to save the file, then SAVE
Open Safari,
Import Bookmark.... -
Windows\Temp folder filling fast - how to Dispose the Crystal Objects?
Post Author: pontupo
CA Forum: .NET
So the Windows\Temp folder is fast filling the disk in my
deployment. Each time a report is opened, a number of files are created
here. The problem is, of course, probably that I'm not releasing my
report objects in my code, as the reports can't even be manually
deleted without shutting down IIS. Well, fair enough. What I can't
figure out is where to release my reports objects. I have two pages:
one performs a pre-pass of the report object and generates a dynamic
page to prompt the user for parameters. This page, I believe, has no
problems because the report.Close() command is in line with the code
and is the final statement, but I could be mistaken and this page may also be leaving memory leaks. The second page, however, has the
CrystalReportsViewer object and actually displays the report to the
user after setting up the parameters correctly. On this page, I can't
figure out how/when to call report.Close(). If I do it at the
page.Dispose event, there seems to be no affect. If I do it at the
page.Close event, the report will load fine, but if you try to go to
another page in the report (in the case of multi-page reports) or
refresh the data, the report object has already been unloaded and the
CrystalReportsViewer won't be able to find the report document. If I
wrap my code in one big Try-Catch-Finally (rather than just having a
Try-Catch around the file load itself) as I've seen suggested elsewhere and place a report.Close()
command in the Finally, the Finally is executed before the viewer even
loads the report so I get a file not found error. So where
can I unload the report object? What I want is to persist the report
via Sessions (which I do) so that as the user moves between pages of
the report/refreshes the report will remain loaded, but when the user
closes the page or browses to another page, perhaps, I want to close
the report and free the resources so that the temp files are deleted.
Following are some code samples: Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init sessionString = Request.QueryString("report") report = Server.MapPath("reports/") & Request.QueryString("report") & ".rpt" ConfigureCrystalReport() End SubPrivate Sub ConfigureCrystalReport() If (Session(sessionString) Is Nothing) Then reportDoc = New ReportDocument() 'load the report document If (IsReportValid()) Then reportDoc.Load(report) '****************************** 'bunch of other code, authentication 'parameter handling, etc. here '****************************** Session(sessionString) = reportDoc Else Response.Redirect("error.aspx") End If Else reportDoc = CType(Session(sessionString), ReportDocument) End If CrystalReportsViewer.ReportSource = reportDoc End Sub Private Function IsReportValid() As Boolean Dim reportIsValid As Boolean = False Try If (System.IO.File.Exists(report)) Then 'does the file exist? 'if it does, try to load it to confirm it's a valid crystal report Dim tryReportLoad As New CrystalDecisions.CrystalReports.Engine.ReportDocument() tryReportLoad.Load(report) tryReportLoad.Close() tryReportLoad.Dispose() reportIsValid = True End If Catch ex As Exception reportIsValid = False End Try Return reportIsValid End Function'Currently, I've also tried each of the following:Protected Sub Page_Unload(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Unload CloseReports(reportDoc) CrystalReportsViewer.Dispose() CrystalReportsViewer = Nothing End Sub Private Sub CloseReports(ByVal report As ReportDocument) Dim sections As Sections = report.ReportDefinition.Sections For Each section As Section In sections Dim reportObjects As ReportObjects = section.ReportObjects For Each reportObject As ReportObject In reportObjects If (reportObject.Kind = ReportObjectKind.SubreportObject) Then Dim subreportObject As SubreportObject = CType(reportObject, SubreportObject) Dim subReportDoc As ReportDocument = subreportObject.OpenSubreport(subreportObject.SubreportName) subReportDoc.Close() End If Next Next report.Close() End Sub'This was the solution suggested on another forum. I've also tried:Protected Sub Page_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed reportDoc.Close() reportDoc.Dispose() CType(Session(sessionString), ReportDocument).Close() Session(sessionString) = Nothing End Sub'I've also tried wrapping everything inside of the If statement in the ConfigureCrystalReport() method in code to this effect:If (IsReportValid()) Then Try reportDoc.Load(report)Catch e As Exception Response.Redirect("error.aspx") Finally reportDoc.Close() End TryAny advice on this is appreciated. Thanks in advance, PontPost Author: sarasew13
CA Forum: .NET
Why are you checking for is valid before closing? As long as the report object isn't null you should be able to close it (whether it's open or not). I ran into this same problem when trying to store the report, so now I just store the dataset. Everything seems to work fine and navigate appropriately so here's more or less how I handle it:
DataSet myDS;ReportDocument myRPT;
protected void Page_Load(object sender, EventArgs e) { try { if (!IsPostBack) { //pull variables from previous page if available //set variables into view state so they'll persist in post backs } else { //if postback then pull from view state }
createReport(); } catch (Exception err) { //handle error } }
private void createReport() { myDS = new DataSet(); string rpt;
rpt = "RPTS/report.rpt"; try { if (!IsPostBack || Session["data"] == null) { myDS = getData();//make data call here Session["data"] = myDS; } else { myDS = (DataSet)Session["data"]; }
if (myDS.Tables.Count > 0)//make sure the dataset isn't empty { myRPT = new ReportDocument(); myRPT.Load(Server.MapPath(rpt)); myRPT.SetDataSource(myDS.Tables[0]);
if (!IsPostBack) { //code to set parameters for report here }
MyViewer.ReportSource = myRPT; } } catch (Exception error) { //handle error } }
protected void Page_Unload(object Sender, EventArgs e) { try { if (myRPT != null) { myRPT.Close(); } } catch (Exception error) { //handle error } } -
Stretch the Stage to Fill the Browser Window??
Could someone let me know how this is done.....
http://www.chevaldetroie.net/
How do you make the stage fill the entire window and scale?
Also, How do you position the objects in on the sides, such as the
menu bar which rolls in and out of the side of the screen. It seems
like there are MOST of the top designers are doing this now.
I would appreciate your help.
Thanks
KitKit,
> This is starting to make sense to me!
Cool!
> I have another question. How do you make movie clips
animate
> in and then animate out when another button is clicked?
... The
> closest I got was in this site I created a while back...
>
>
http://www.corduroyblues.com
Aha. Okay, for something like that -- and there are usually
half a
dozen ways to do things -- I would probably use keyframe
scripts, along with
a variable, in the movie clips that animate in and out.
I don't know how you coded up or arranged that site, of
course, but my
guess is that your nav buttons each tell a particular movie
clip to load and
start playing. That's why these clips suddenly disappear:
because you're
simply loading them into the same container, and as soon as
the new one
comes in, the other vanishes. Makes sense. So you may want to
shift part
of the responsbility of this loading onto the movie clips
themselves. I'll
try to explain this in a way that makes sense.
Rather than having your button simply load a movie clip,
have it set a
variable instead. Maybe your variable is called clipToLoad.
It could be a
variable that sits in the main timeline and starts out empty.
var clipToLoad:MovieClip;
It's eventually going to refer to a movie clip, but it
doesn't yet.
Now your buttons need to do a couple things: a) check if
clipToLoad has
a value yet and b) set a value, then maybe load a movie clip.
The first
time around, your variable will be undefined. That makes
sense, because it
hasn't been given a value yet; it's only been declared. So if
it doesn't
have a value, load a clip:
someButton.onRelease = function():Void {
if (clipToLoad == undefined) {
// clip loading code here
With me so far? Outside of the if() statement, you may very
well be
doing something along these lines. From this point forward,
you don't want
buttons to load movie clips on their own, you only want them
to let Flash
know which movie clip to load *next*. The trigger to make
this decision is
that if() statement, and the if() statement looks to the
value of
clipToLoad, so ... to make sure the button knows better next
time, give
clipToLoad a value. Watch how the event handler updates:
someButton.onRelease = function():Void {
if (clipToLoad == undefined) {
// clip loading code here
clipToLoad = movieClipA;
movieClipA is just a hypothetical instance name for the
movie clip
associated with this button. You want that new part outside
of the if()
statement, so that it happens every time. So, again ... the
first time this
button is clicked, it loads the associated movie clip
(movieClipA) and sets
the value of clipToLoad so that it *won't* load the movie
clip next time.
So now we need an else.
someButton.onRelease = function():Void {
if (clipToLoad == undefined) {
// clip loading code here
} else {
clipToLoad.play();
clipToLoad = movieClipA;
So what's the play() about? At this point, we're on the
second click.
This button -- or one the others in this nav (which have all
been coded
similarly) -- will check clipToLoad and see that it's no
longer undefined,
so it'll tell the relevant clip to play. How does it know
which clip to
play? Well, the value of clipToLoad tells it so. (This
variable, after
all, is a reference to one of the movie clips.)
Every one of these clips will have an animate-out sequence
that ends in
a keyframe script. The keyframe script will contain whatever
ActionScript
you're using to load these clips. There, again, it'll know
which clip to
load because it will check the value of clipToLoad to find
out. Perhaps
something like ...
this._parent.loadMovie(clipToLoad);
... or whatever ActionScript you're using to load these movie
clips.
Here's the sequence. First time around, the user clicks the
button for
movieClipA. The if() statement checks clipToLoad, finds that
it's
undefined, and loads movieClipA on its own, then sets the
value of
clipToLoad to movieClipA. At this point, movieClipA loads and
animates in.
movieClipA has a stop() action in the keyframe immediately
after its
animate-in sequence ends. The second time around, the user
clicks the
button for movieClipB. movieClipB's button checks the value
of clipToLoad
and finds that it is *not* undefined: it has a value. Okay,
so it goes to
its else clause and executes the expression
clipToLoad.play(). Since the
value of clipToLoad is currently movieClipA, that's the clip
that starts
playing. Then the button changes the value of clipToLoad to
movieClipB.
someButtonA.onRelease = function():Void {
if (clipToLoad == undefined) {
// clip loading code here
} else {
clipToLoad.play();
clipToLoad = movieClipA;
someButtonB.onRelease = function():Void {
if (clipToLoad == undefined) {
// clip loading code here
} else {
clipToLoad.play();
clipToLoad = movieClipB;
After movieClipA animates out, it hits the last frame in its
timeline.
That frame ias a script that references clipToLoad (which is
now movieClipB)
and tells that movie clip to load.
Don't know if I made that clear as mud. Hope that made
enough sense
that you can start experimenting with it. :)
David Stiller
Adobe Community Expert
Dev blog,
http://www.quip.net/blog/
"Luck is the residue of good design." -
How can I tile an image on stage to fill the background using AS3?
Hi,
I have a small image which is to be tiled on background filling it completely. How can I code it?
Thanks.I don't know if you cna draw directly to the stage or not (i think not) but this would do the job
package
import flash.display.Bitmap;
import flash.display.Sprite;
import flash.events.Event;
public class Main extends Sprite
[Embed(source="flash.png")]
private var Picture:Class;
public function Main():void
if (stage)
init();
else
addEventListener(Event.ADDED_TO_STAGE, init);
public function init(e:Event = null):void
removeEventListener(Event.ADDED_TO_STAGE, init);
var background:Sprite = new Sprite();
addChild(background);
var image:Bitmap = new Picture();
background.graphics.beginBitmapFill(image.bitmapData);
background.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
background.graphics.endFill(); -
Despooler.Box Receive Folder Filling Up Space
I have one primary site and 5 secondary sites and with a few of the secondary sites we store all the files on the D:\ drive and the drive is filling up quickly then releasing space again. I've done a tree size and it seems to be the Despooler.Box\Receive
Folder that filling up quickly then releasing space so its up and down constantly
I see .tmp file that is increasing in the folder and can I delete the .try files?
Any fix for that?There is no fix as that folder is used for packages that you deploy to that server.
Garth Jones | My blogs: Enhansoft and
Old Blog site | Twitter:
@GarthMJ -
Issues with Stage Folder - Adobe Livecycle Watch Folders Technique
After converting TIF files to PDFA/1-b, we found that the original TIFF files were removed by Adobe LC and moved on to the preserve folder as expected, from the temp folder on stage. After moving the original files to preserve, the temp folders created by Adobe LC were not deleted. Due to this, further processing by Adobe LC was halted. I landed-up manually deleting the temp folders within the share folder, and i found Adobe LC started processing the TIF files again from the input folder.
Is there a setting that needs to be changed on the AdminUI or is this an abnormal behavior or does this require a configuration change? Can someone help me to get rid of this abnormal behavior.
Thanks. Vijhay Devarajanthe temp folder should be deleted,there could be a delay in deleting these temp files
-
I bought another 4TB drive to put my Project Folder and Event Folder on. Everything is there, and everything gets copied there. Why is my root movie folder on my boot drive (my user account) still accumulating 150GB+ of files for this movie I'm making? I thought I had successfully put those on the new 4TB drive. The Project Folder and Event Folder on the 4TB are huge too. What's going on? Augh! I keep running out of space. How can I fix this without screwing up my film (noticed that FCP X doesn't really 're-connect' files if you point back to them like FCP7. I'm an idiot.
It sounds like FCPX is getting confused by the two copies of the same Event. I remember reading in the manual that it will use the first reference it finds, and it probably looks at the Movies folder first.
I should note that FCPX does not play well with RAID drives, nor does it work with a drive specified to host time machine backups. So you first need to confirm these two do not apply in your situation.
Next,try this:
1. Close down FCPX.
2. On your 4TB drive, rename the FCP folders so FCPX no longer sees them (this is a backup just in case things go awry, which you will end up deleting if all went well)
3. Open FCPX and go to the Project view (command-zero).
4. Select your project and in the File menu choose "Duplicate Project"
5. In the popup window, select your 4TB drive in the Location dropdown, and "Project File and Referenced Events." Press OK. FCPX should now make a copy of your project and events on the 4TB drive.
6. Wait for this background process to finish, and then quit FCPX.
7. Using the Finder, move your Project and Events folders that got copied out of their original folders in the Movies directory to another location (but don't delete them yet. this is a backup just in case things go awry, which you will end up deleting if all went well)
8. Restart FCPX; you should now see your Events and Projects that are on the 4TB drive. Confirm this and confirm all is working as it should (e.g., no missing media).
9. If you are satisfied all went well, delete the backup copies you made in steps 2 and 7. -
Drafts folder relocation Outlook 2013 and Gmail IMAP and multiple saves to trash folder
Hi,
I have Office professional 2013 32 bit running on Win 7 64bit. I have an issue that I know has been discussed but I see no resolution.
The drafts are saved on the server not locally and the trash folder fills with multiple copies of the draft, the number of copies appears to relate to the time of editing the draft. I have to go in and delete these copies in Trash after writing an email.
Outlook 2013 does not allow me to remap the drafts folder I click unsubscribe and it says the folder is a special folder and cannot be unsubscribed in Outlook. I use the account on my iPhone and this allows me to unsubscribe from the folder.
Has anyone found a solution or is anyone working on a resolution for this problem?
Best regards,
Clive
Regards, CliveI am having a similar problem with trash receiving multiple copies of some drafts. In last 20 minutes 19 copies of a draft have been included in trash. It seems to happen when I view a draft --but not solely
Using Outlook 2013 with IMAP GMail on windows 7 on a laptop. It synchs with my IPHONE. Yesterday I called Dell Support. They said it was a virus -- though a thorough scan found one item --it was deleted and problem continues. -
How do I process all the files in a folder simply?
I need some help with a task I’m working. I need to access a folder filled with 50+ PDF files and put password protection on each one. The files will have specific 6-character names and I want each file to always get the same password. This task would run twice monthly.
So far I have a working solution with a flaw. In ADOBE Acrobat professional, I created a separate security policy for each of the 6-character names, assigning each a password. Using Batch Processing, I run a JavaScript program to password-protect the files. This process works okay, but the flaw is the need for excess manual processing. I want the process to spin through the files without any further confirmations from me. As it is, I have to push the OK button once for every file in the folder. This is inconvenient. Is there a way I’m missing to accomplish my goal.
The script I’m using follows:
/* Applying a Security Policy to a PDF Document */
var ASISecurityAll = app.trustedFunction(
function()
var oMyPolicy = null;
var rtn = null;
var sPolNam = "ASI000";
app.beginPriv();
// First, Get the ID of SimplePassword security policy
var aPols = security.getSecurityPolicies();
var fnm = this.documentFileName;
var fnm6 = fnm.substr(0,6);
var sPolNam = "ASI000";
sPolNam = "ASI" + fnm6.substr(3,3);
for(var i=0; i<aPols.length; i++)
if(aPols[i].name == sPolNam)
oMyPolicy = aPols[i];
rtn = this.encryptUsingPolicy({oPolicy: oMyPolicy });
break;
app.endPriv();
ASISecurityAll();
Thanks for assistance.The code shown is straightforward and understandable. If you don't intend to use it in Acrobat 7, you may even replace the loop throgh the policies array using the indexOf() array object method (introduced with JavaScript 1.6, supported in Acrobat 8 and newer), to simplify the code.
According to the documentation for encryptUsingPolicy(), manual interaction may be necessary, depending on the policy used. You might look at the policies if you find ways to reduce interaction.
As an alternative, you might look at third party products which would provide encryption etc. (such as the ones from Appligent, which are command line utilities, and are therefore more suitable to be embedded in a process).
HTH. -
sometimes they come in a zip file, which I really don't know what to do with, so I have unzipped it to a picture folder which leaves an entire folder within a folder. That also leaves an empty zip folder in my pictures.
The craziest thing and most unwanted as well, is that although I have downloaded only a specific file, the folder fills with photos that I have only looked at in my browser...tons of them! Most are unrelated to each other as well as viewed on different dates.
Sometimes, the file extension is an unknown file type to me at times (sorry can't find an example).
I have only tried to download pictures from FaceBook to date.
I apologize for not understanding some computer basics - which probably are the causes of most of these problems. I have read most of the literature for Firefox, but a lot is above me.
I really hope that you can help me and that my LONG description and information is just a pain.
Thanks in advanceOn the bottom bar of the window (on the left iPhoto 11, on the right in other versions) note the slider. Drag it left.
Regards
TD -
Can too large a folder cause issues and effect performace of my Mac Pro
Hi, I have a 180 gb folder filled with important data within my Home folder. This folder has a many subfolders as well. The folder is on my startup drive and where I have Snow Leopard installed. Can too large a folder cause issues with my mac and effect performance? Thanks
another way to ask, would you make better use of, and improve I/O and performance, if you used your other drive bays? yes.
Boot drives with even less than 50% free is probably not a good idea. All depends on whether 200GB is on 1TB or on 500GB drive. And how fragmented free space even.
Lifting, loading and writing or copying 4GB files of course does have an impact, so if you work with 2GB files in CS5....
Having a dedicated type boot drive, media drive (and isolate media and library files) as well as scratch drive is normally done with Mac Pro.
The biggest bang in performance: lean mean SSD boot drive. -
A simple question. I have my stage at 1280X1024 . Since my
resolution is much higher, it displays white sections around the
stage.. How can I make the stage to fill the entire swf depending
on the computer's resolution please ?Oh sorry, that video must be older than I thought, but it
isn't that much different than AS3.
http://blog.fryewiles.com/design/07-14-2008/proportional-image-scaling-in-full-browser-fla sh
http://saravananrk.wordpress.com/2008/02/13/actionscript-3-full-browser-background-image/ -
Jar_cache files left in temp folder
With my java applet, I notice that my Temp folder fills up with lots of jar_cachexxx files, where xxx is numeric.
Running on Windows Vista.
Most of these files have a size of 0.
The files never seem to be deleted.
I've searched the forums, but this does not seem to be a current issue.
One closed 'not a bug', suggested that the behaviour was correct if I load the applet as an <object > in the html, rather than as an <applet >. I've changed my html, but makes no difference.
I'm a little concerned that users of my app will be filling up there hard drives with empty useless files.
Does anyone else get lots of these building up in their Temp folder? Is there a solution to this?Did you find a resolution for this? I have a server that is doing the same thing and would like to get it cleaned up.
Thanks!
Jeff
Maybe you are looking for
-
Fire Wire: MBP OS X.4.11 Can't see external devices. PLEASE HELP!
Fire Wire: MBP OS X.4.11 Can't see external devices. PLEASE HELP! My MBP will not "see" my new MB or my back-up drive-both connected via a firewire 400 (6 pin) cable. Both running Tiger X.4.11 I have used this cable to connect my MBP and a TiBook in
-
How do I disable Computrace on Yoga 13
I have found that having Computrace enabled seems to be preventing me from updating my Yoga 13 BIOS. Whenever I try the BIOS update I get an error: ''the system is currently under Intel Ant-Theft Technology 4.0 protection. Please un-enroll the client
-
How do I center text w/o CSS?
Just upgraded from an old version. I just need to exit some text in HTML only, no need for CSS. How do I turn off CSS editing and just have good old html editing? This is for websites that i put my info that is straight html, no css. I can't even fin
-
Link control - open in new tab
Hi all, I've defined a Link control with the following code: new sap.ui.commons.Link().bindProperty("text", "filename").bindProperty("href", "file").setTarget("_blank") everything works smoothly, only the link is being opened in the same window, in
-
How to privent the users from resizing/maximizing/minimizing the mdi window
In http://forms.pjc.bean.over-blog.com/60-index.html i read about 'A JavaBean to handle the Forms applet's frames' . In formsframe.java It is written that the author is Francois Degrelle so i want to ask Francois: My goal is to privent the users from