Calling application's URL from Notes Portlet
Hello,
We have been able to successfully configure Lotus Notes- External Application Portlet using JPDK. Now, we are creating a link on this Notes portlet that will take the user to the corresponding external application.
For this, we have called a self made servlet that will direct the user to the application's URL. But we are unable to pass confidential user information, like password, to this servlet due to which the link is opening application's login page.
We want to utilize the user information available in LotusProvider.java, provider used for creating the notes portlet, instead of asking user to login again.
Any prompt comment or suggestion over this is eagerly awaited.
Thanks & Regards,
Please post this question in the PDK forum:
http://forums.oracle.com/forums/forum.jsp?forum=4
Similar Messages
-
Error while executing webdynpro application : he URL does not contain full
Dear All,
I had installed SAP in my system.But when I am testing webdynpro application I am getting the belwo error. Please let me knwo what setting I need to do to avoid this error.
Error when processing your request
What has happened?
The URL http://hari:8000/sap/bc/webdynpro/sap/z_test_pg was not called due to an error.
Note
The following error text was processed in the system DEV : The URL does not contain full domain specification (hari statt hari.<domain>.<ext>).
The error occurred on the application server HARI_DEV_00 and in the work process 0 .
The termination type was: RABAX_STATE
The ABAP call stack was:
Method: CHECK of program CX_FQDN=======================CP
Method: LATE_CONSTRUCTOR of program CL_WDR_UCF====================CP
Method: HANDLE_REQUEST of program CL_WDR_UCF====================CP
Method: IF_HTTP_EXTENSION~HANDLE_REQUEST of program CL_WDR_MAIN_TASK==============CP
Method: EXECUTE_REQUEST of program CL_HTTP_SERVER================CP
Function: HTTP_DISPATCH_REQUEST of program SAPLHTTP_RUNTIME
Module: %_HTTP_START of program SAPMHTTP
What can I do?
If the termination type was RABAX_STATE, then you can find more information on the cause of the termination in the system DEV in transaction ST22.
If the termination type was ABORT_MESSAGE_STATE, then you can find more information on the cause of the termination on the application server HARI_DEV_00 in transaction SM21.
If the termination type was ERROR_MESSAGE_STATE, then you can search for more information in the trace file for the work process 0 in transaction ST11 on the application server HARI_DEV_00 . In some situations, you may also need to analyze the trace files of other work processes.
If you do not yet have a user ID, contact your system administrator.
Error code: ICF-IE-http -c: 800 -u: SAPUSER -l: E -s: DEV -i: HARI_DEV_00 -w: 0 -d: 20080109 -t: 073032 -v: RABAX_STATE -e: UNCAUGHT_EXCEPTION
HTTP 500 - Internal Server Error
Your SAP Internet Communication Framework TeamHello,
Little extract from the SAP online help :
In Web Dynpro ABAP it is imperative that a client browser with a fully qualified domain name (FQDN) has access to the AS-ABAP. For this reason the full URL must be assigned to a Web Dynpro ABAP application when it is called. The URL must not be shortened (for instance, no domain specification).
More info on how you should do this can be found here :
[Click|http://help.sap.com/saphelp_nw70/helpdata/en/67/be9442572e1231e10000000a1550b0/content.htm]
This will solve your problem.
Success.
Wim -
Call pl/sql API from jsp portlets
HI ALL!
I need to ask from java developers for portal application,How can i call pl/sql API from my jsp portlets,What enhancements in code should i have to follow in addition to use JDBC,I read in FAQ abt portal some thing abt pl/sql wrapper but that was for complex scenarios ,what if my requirement is to call only API functions for contentareas,items,previleges etc.I really need help.
thx
AlizehHi
thanks for ur reply but where were u a month ago,i really started to think that my question was enough stupid not to be answered.At present i have done with jdbc and pl/sql calls ,current concern is for sessions as i see that session id remains same when one user logs out and another logs in(if browser is not closed), same sessionid persists in my java portlet for both users.Is this an expected behaviour?? but yes new session id appears if browser is closed.
.session clear for both application and sso after logout is checked
.broser is set to check for new version each visit for the page
portal version is 3.0.9.8.0 ,we r planning patch to 3.0.9.8.3 soon
once again thx
Alizeh -
How can I redirect to an URL from a portlet?
I'm using Bea Workshop 8.1 and trying to perform a redirect from inside a portlet
using HTTPServletResponse.sendRedirect(String url)... but nothing happens ((
I tryed the same trick with a simple JSP, and that's ok, but portal pages obviously
catch the redirect somehow.
Please could you tell the correct way of redirecting the whole browser to another
page from inside portlets?
Thanks!!!Backing files is an option. If you need to do it from the controller, you
could use the Forward object. The forward object constructor can take a URL
object as a parameter. This should do the trick.
Regards,
Kunal
"Panji Aryaputra" <[email protected]> wrote in message
news:[email protected]..
Hi, you have to use backing file to get what you want. In my case, I am
using a page backing file. Perhaps a portlet backing file can do thatalso.
Cmiiw, the redirect header makes the page redirected only if the httpheader
has not been sent to client. In your case, the header has been sent (i.e.
the portal header.jsp has been displayed, etc). So the header need to be
sent before anything else sent to client browser. This is where thebacking
file comes handy.
hth
panji.a
"A Hagen" <[email protected]> wrote in message
news:[email protected]..
I'm using Bea Workshop 8.1 and trying to perform a redirect from inside
a
portlet
using HTTPServletResponse.sendRedirect(String url)... but nothing
happens
I tryed the same trick with a simple JSP, and that's ok, but portal
pages
obviously
catch the redirect somehow.
Please could you tell the correct way of redirecting the whole browser
to
another
page from inside portlets?
Thanks!!! -
Calling a shell script from a portlet
Hello,
I need to execute a unix shell when I click on the submit button from a jsp portlet. Pls. let me know if this is possible.
thanks!Actually I am having 4 Shell Scripts which I want to
call at a time.
1)run_graph.sh
2)run_report.sh
3)web_report.sh
4)mktg_report.sh
Now I want to call all the four from a Java Program at
the same timeWell... if you truly want to run them at the same time, you'll need to look into multithreading.
What I suspect you really want is to run them in the above order within the same Java program.
String pathToScripts = "/etc/path/to/your/scripts/";
String[] scripts = {"run_graph.sh", "run_report.sh", "web_report.sh", "mktg_report.sh"};
Process p = null;
for (int i=0; i<scripts.length; i++){
p = Runtime.getRuntime().exec(pathToScripts + scripts);
p.waitFor();
System.out.println(scripts[i] + " completed with exit code " + p.exitValue());
If you want to capture output or send input for the above processes, see the java.lang.Process and java.lang.Runtime API docs:
http://java.sun.com/j2se/1.3/docs/api/java/lang/Runtime.html
http://java.sun.com/j2se/1.3/docs/api/java/lang/Process.html
Hope this helps,
-Scott -
Calling a snapshot query from a portlet?
From a portlet, I want to be able to use the EDK to get the results of a snapshot query and display these results in my own manner. Any ideas on how to do this? Looking in the nDocs, I can't seem to find any class in the Plumtree.Remote.PRC namespace to assist with this.
Thanks in advance,
Dan.First - I have to say I love the direction Plumtree is going with their products. I don't want to stuff below to be perceived as whining - just portraying our needs. The more I learn about 5.x the more impressed I am. That said...
We'd be very interested in this as well. Part of our 4.5 WS -> 5.x upgrade analysis exposed some of the differences in publications and snapshot queries. Having a portlet interface into snapshot query properties/presentation would be really nice in addressing things the user community will see as "losses" in functionality. Some of the things our business analysts are concerned about:
Maximum 10 items in a snapshot query: snapshot queries are a great way to surface data from a complex/distributed taxonomy. The 10 item limit make this more difficult.Multi-column display: The staff want to be able to control the # columns used to present the snapshot results.Porlet per snapshot query: The staff would like to be able to present multiple snapshot queries in a single portlet.General snapshot API: I could actually see this being pretty powerful in providing a way to leverage snapshots to provide "in context" results within a portlet. The reason I like it over a general search API is I can allow an admin to change the search attributes otuside of the code.Eric -
Calling Web Dynpro application or URL from POWL
Hi Friends,
I need to call a Web Dynpro appl from a custom POWL. In my feeder class's method HANDLE_ACTION, i am not getting how to use e_portal_actions parameter for calling a URL of WD application. Pls help me out in this.
Regards,
SaudYou can create a launchpad application through tran LPD_CUST and then in repsective method of POWL class you can launch your web dynpro application like this
DATA ls_appl_param TYPE APB_LPD_S_PARAMS.
DATA lt_appl_param TYPE APB_LPD_T_PARAMS.
DATA lt_lpd_content TYPE apb_lpd_t_content.
DATA lr_lpd_content TYPE REF TO apb_lpd_s_content.
DATA lt_lpd_appl_params TYPE apb_lpd_t_params.
DATA lr_lpd_handle TYPE REF TO cl_apb_launchpad_api.
DATA lo_component TYPE REF TO if_wd_component.
DATA lr_provider TYPE REF TO if_apb_lpd_provider.
"Get launchpad handle
lo_component = wd_comp_controller->wd_get_api( ).
cl_apb_launchpad_api=>read_for_display( EXPORTING id_role = cl_oif_ui_assist=>sc_lpd_roles "Role Name
id_instance = cl_oif_ui_assist=>sc_lpd_instance " Instance Name for Launchpad
id_langu = sy-langu
ir_provider = lr_provider
ir_wd_component = lo_component
RECEIVING er_launchpad = lr_lpd_handle ).
CHECK lr_lpd_handle IS BOUND.
lt_lpd_content = lr_lpd_handle->get_content( ).
READ TABLE lt_lpd_content REFERENCE INTO lr_lpd_content
WITH KEY link_text = cl_oif_ui_assist=>sc_lpd_link_text. "Link text for launchpad
ls_appl_param-key = cl_oif_ui_assist=>wda_config_key. "'SAP-WD-CONFIGID'. "app conf if any
ls_appl_param-value = cl_oif_ui_assist=>CREATE_CONFIG_ID. "'MDG_OIF_CREATE_CONF'.
APPEND ls_appl_param TO lt_appl_param.
lt_lpd_appl_params = lr_lpd_content->application_parameter.
"launch application
lr_lpd_handle->launch_application(
id_application_id = lr_lpd_content->application_id
it_application_parameters = lt_lpd_appl_params
it_business_parameters = lt_appl_param -
The web application at [URL] could not be found.
Hi,
I am trying to run a simple code like finding all the users in the SharePoint site.
But I am seeing this error constantly no matter what I do!!
The Web application at [https://xxxxxx] could not be found. Verify that you have typed the URL correctly. If the URL should be serving existing content, the system administrator may need to add a new request URL mapping to the intended application.
I've looked into all the answers on the forums but still stuck with this error.
I am a beginner in SharePoint, and I am really not sure about the AAM and IIS settings that needs to be set inorder to get rid of this error.
If someone could point me in right direction that targets beginners that would be really helpful.
Also, I noticed that my IIS is blank on the dev server that I am working on with Visual Studio and SharePoint installed on it.
Is this something that is causing this error?
ThanksNote: you need to enter the SharePoint site URL
To authenticate:
f you are connecting to office 365 then use the following code:
using (srcContext = new ClientContext(txtUrlFrom.Text))
SecureString passWord = new SecureString();
foreach (char c in txtPasswordFrom.Text.ToCharArray()) passWord.AppendChar(c);
srcContext.Credentials = new SharePointOnlineCredentials(txtUserNameFrom.Text, passWord);
if you are using on premise SharePoint 2013 use this code:
using (srcContext = new ClientContext(txtUrlFrom.Text))
NetworkCredential credentials = new NetworkCredential(txtUserNameFrom.Text, txtPasswordFrom.Text);
Example to retrieve data:
Web srcWeb = srcContext.Web;
List srcList = srcWeb.Lists.GetByTitle(srcLibrary);
ListItemCollection col = srcList.GetItems(new CamlQuery());
srcContext.Load(srcList.RootFolder);
srcContext.Load(srcList.RootFolder.Folders);
srcContext.Load(col);
srcContext.ExecuteQuery();
to retrieve users:
Private void GetData(object obj)
MyArgs args = obj as MyArgs;
try
if (args == null)
return; // called without parameters or invalid type
using (ClientContext clientContext = new ClientContext(args.URL))
// clientContext.AuthenticationMode = ClientAuthenticationMode.;
NetworkCredential credentials = new NetworkCredential(args.UserName, args.Password, args.Domain);
clientContext.Credentials = credentials;
RoleAssignmentCollection roles = clientContext.Web.RoleAssignments;
ListViewItem lvi;
ListViewItem.ListViewSubItem lvsi;
ListViewItem lvigroup;
ListViewItem.ListViewSubItem lvsigroup;
clientContext.Load(roles);
clientContext.ExecuteQuery();
foreach (RoleAssignment orole in roles)
clientContext.Load(orole.Member);
clientContext.ExecuteQuery();
//name
//MessageBox.Show(orole.Member.LoginName);
lvi = new ListViewItem();
lvi.Text = orole.Member.LoginName;
lvsi = new ListViewItem.ListViewSubItem();
lvsi.Text = orole.Member.PrincipalType.ToString();
lvi.SubItems.Add(lvsi);
//get the type group or user
// MessageBox.Show(orole.Member.PrincipalType.ToString());
if (orole.Member.PrincipalType.ToString() == "SharePointGroup")
lvigroup = new ListViewItem();
lvigroup.Text = orole.Member.LoginName;
// args.GroupsList.Items.Add(lvigroup);
DoUpdate1(lvigroup);
Group group = clientContext.Web.SiteGroups.GetById(orole.Member.Id);
UserCollection collUser = group.Users;
clientContext.Load(collUser);
clientContext.ExecuteQuery();
foreach (User oUser in collUser)
lvigroup = new ListViewItem();
lvigroup.Text = "";
lvsigroup = new ListViewItem.ListViewSubItem();
lvsigroup.Text = oUser.LoginName;
lvigroup.SubItems.Add(lvsigroup);
//args.GroupsList.Items.Add(lvigroup);
DoUpdate1(lvigroup);
// MessageBox.Show(oUser.LoginName);
RoleDefinitionBindingCollection roleDefsbindings = null;
roleDefsbindings = orole.RoleDefinitionBindings;
clientContext.Load(roleDefsbindings);
clientContext.ExecuteQuery();
//permission level
lvsi = new ListViewItem.ListViewSubItem();
string permissionsstr = string.Empty;
for (int i = 0; i < roleDefsbindings.Count; i++)
if (i == roleDefsbindings.Count - 1)
permissionsstr = permissionsstr += roleDefsbindings[i].Name;
else
permissionsstr = permissionsstr += roleDefsbindings[i].Name + ", ";
lvsi.Text = permissionsstr;
lvi.SubItems.Add(lvsi);
// args.PermissionsList.Items.Add(lvi);
DoUpdate2(lvi);
catch (Exception ex)
MessageBox.Show(ex.Message);
finally
DoUpdate3();
Kind Regards, John Naguib Technical Consultant/Architect MCITP, MCPD, MCTS, MCT, TOGAF 9 Foundation -
Calling User Preference event from within portlet
Not sure if anybody else has looked at this but we are in the process of rolling out a new G6 Portal and on a number of portlets want to take advantage of the ability to turn off the portlet header. However in doing so you loose access to the inbuilt support for providing access to the User Preference, if one has been defined as part of the portlet definition. This is relevant on a number of portelts that we want to migrate to the new G6 portal.
So rather than try and re-invent this from scratch using a different 'link' in the portlet itself we were wondering if you can 'call' the inbuilt user preference functionality from within the portlet code. i.e. When a user clicks on the link within the portlet it performs exactly the same action and interaction within the portal as if they clicked on the User Preference icon in the portlet header.
We have had a look around to see if this is possible but not come up with anything yet so thought we would seek comments from this forum.
Many thanks in advance,
Ross Ellard
Devonport Management LtdHey Ross,
I just realized I have to do the same thing on a very limited scale (3-5 portlets).
SO I just wrote a little bit of (shoddy) code to show community preferences based on group membership.
It works for me, but I get the feeling your looking for something like communityactionsdata geared toward portlets, which unfortunately I dont think exists. If you put it in as an enhancement request then support will contact you to discuss your options.
Here is the code that I'm using for now:
<pt:standard.choose>
<pt:standard.when pt:test="stringToACLGroup('group=1,755,760;').isMember($currentuser)">
<immg border="0" src="htttp://localhost/imageserver/plumtree/portal/public/img/action_portlet_edit.gif">
</pt:standard.when>
</pt:standard.choose>
The only problem is that the preferences submit button refreshes the popup to the portal. So I might need to tweak that a hair so it just closes the popup.
edited to prevent the forum from trying to use the code I provided
Message was edited by:
geoffgarcia -
I can't call up a URL from within a component?
Hi all. Hope you can help.
I have a flash site that contains a component. The component
is for a scroll bar that shows image slices of my work. The image
slices are buttons that when clicked should call up a seperate web
(URL) window to display the work. However when clicked the button
doesn't work. The button im using is on (release) {getURL
("work.htm")} this is fom the browser/network submenu in the global
functions menu. I think that I should be looking in the components
menu but have no idea what function or code to use.
Any advice would be massively helpful.
Cheers
RobThe images are added within the component as buttons. I don't
know how to check wether the button is accessable or not? IF you
could advise on this that would be really good. I don't think its
tracing anything.
Basically just want it to open a javascript URL window.
Cheers in advance
Rob -
How can you tell where a call is actually coming from not just where the phone was activated?
me and my wife check our account and we are wondering how we can find out where our son is calling from it only puts the town where we originally signed up with Verizon,help please!!!!
If this is a Microsoft based phone AND you have location awareness turned on AND they have this phone tied to a Microsoft account AND you have access to all of the account information, then there is a Microsoft web site that will show you the current location of the phone. Otherwise MrGecko is pretty much dead on. You would have to have an app on the phone, or pay Verizon more money to give you the location.
-
Calling an external URL from cProject
Hello PPM Experts,
We want few of the cProject objects (e.g. checklist items, tasks) to point out to an external web pages (i.e. URL).
I guess I need to use "object links" tab for this and define a custom object type (say, ZEXTURL) in the IMG node 'Define Object Types for Object Links'.
Is this a correct approach or is there any other way?
Also, for the object link ZEXTURL, please let me know what should I enter in following fields of the IMG node.
Key
Identification
Proxy Class
Web Server
We want to achieve this without any coding / custom development. Please let me know whether that would be possible.
Regards,
BhushanHello Bhushan,
Object links are intended for links with other SAP modules or systems. For example, you can link a task in PPM with a PS Network in an ERP. PPM and ERP can be either installed together or on different SAP systems. In order to find development-free object links possibilities, search for "CL_R3_OLR3*" classes in your system.
My point is, if you want to create a custom object type (ZEXTURL), you'll have to write some coding. Although, in the Object Links database table, the actual information related to an object (E.g. some master data fields for a Material) is saved in xml format. Therefore you don't need an additional database table, but you'll have to create your OLR3 class.
To be honest, I only had to do this once. Even though I had the job done, it might be that my solution isn't optimal.
Good luck and if you find an alternative, please share it!
Tudor -
Code to call another Page Flow URL from one page flow URL
Can anyone send me the code to call another pageflow url from one page flow URL.
thanks...
In my appication there is no Form page. Only based on Canvas in that ,
i implemented Text box, Text Field And Drop down list etc..by own coding without using any abstract methods.
I did every thing with in single Midlet file.While developng goes on i got the problem ,
Like "your application exceeds the memorylimit you cant
use more than 32Kb of byte code in Canvas"...
So the application is not opened.
I tried to call the next file in same package to proceed, i got it. codition goes to next file, but its not return back to the Main(MIDlet) file, throws the excepton as "Security exception".
How to solve this problem,is any other way? please... -
Hi friends,
Can we call a web URL from a ABAP program?
Is there anyway its possible ? if yes how?
Please provide the solution.
Thanks & Regards
kapilHi Kapil,
<b>Look at the below example program:-</b>
REPORT zget_mayors_for_cities.
DATA: it_citymayors TYPE TABLE OF zcitymayors,
wa_citymayors LIKE LINE OF it_citymayors,
mayor TYPE full_name,
trash TYPE string.
PARAMETERS: s_city TYPE s_city LOWER CASE.
SELECT * FROM zcitymayors INTO TABLE it_citymayors
WHERE city LIKE s_city.
* HTTP Client according to
* /people/thomas.jung3/blog/2005/07/01/bsp-create-a-weather-magnet-using-xml-feed-from-weathercom
DATA: client TYPE REF TO if_http_client,
<b>url TYPE string,</b>
xml TYPE xstring,
c_xml TYPE string,
city TYPE string.
* Converter
DATA: l_convin TYPE REF TO cl_abap_conv_in_ce.
LOOP AT it_citymayors INTO wa_citymayors.
* Use the Progress Indicator to show the user which City is processed
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = sy-index
text = wa_citymayors-city.
city = wa_citymayors-city.
* Spaces have to be replaced by _ in the URL
REPLACE FIRST OCCURRENCE OF space IN city WITH '_'.
<b> CONCATENATE
'http://de.wikipedia.org/wiki/Spezial:Export/' city
INTO url.</b>
****Create the HTTP client
TRY.
<b> CALL METHOD cl_http_client=>create_by_url
EXPORTING
url = url
IMPORTING
client = client
EXCEPTIONS
OTHERS = 1.</b>
client->send( ).
client->receive( ).
xml = client->response->get_data( ).
client->close( ).
CATCH cx_root.
WRITE: / 'HTTP Connection error: ', city.
ENDTRY.
* Wikipedia does not provide a encoding with the returned XML
* so we have to do the conversion manually
TRY.
CALL METHOD cl_abap_conv_in_ce=>create
EXPORTING
encoding = 'UTF-8'
input = xml
endian = 'L'
RECEIVING
conv = l_convin.
CALL METHOD l_convin->read
IMPORTING
data = c_xml.
CATCH cx_root.
WRITE: / 'Problem during Character conversion: ', city.
ENDTRY.
****Transform XML to ABAP Values
TRY.
CALL TRANSFORMATION zwikipedia_mayor_to_abap
SOURCE XML c_xml
RESULT mayor = mayor.
CATCH cx_root.
WRITE: / 'Data loss during transformation: ', city.
ENDTRY.
* Some Mayors already have pecial Pages
REPLACE FIRST OCCURRENCE OF '[[' IN mayor WITH ''.
REPLACE FIRST OCCURRENCE OF ']]' IN mayor WITH ''.
* Some Mayors are members of a Party
SPLIT mayor AT '(' INTO mayor trash.
wa_citymayors-mayor = mayor.
WRITE: / wa_citymayors-city.
* Update Database
IF NOT wa_citymayors-mayor IS INITIAL.
UPDATE zcitymayors FROM wa_citymayors.
WRITE: wa_citymayors-mayor.
ENDIF.
ENDLOOP.
Look at the below thread for more info:-
/people/gregor.wolf3/blog/2006/06/29/use-data-from-wikipedia
Regards
Sudheer -
Call a servlet from Faces Portlet in Websphere
Hi All,
I have created a JSR-168 Faces Portlet project and using RAD(IDE) and WebSphere Portal server.
I want to call a servlet from my jsf portlet.But i do not know where to place my servlet in the project directory.And how to invoke a call to my servlet from my portlet.
Please help me find an answer.
Best Regards,
Pallavihi Pallavi,
Yes you can do that, what you have to do is you can get the ExternalFacesContext and forward your request to the servlet, you have entry for your servlet in web.xml...
I am sure about it but you can try this
Hope it will work.
Surya
Maybe you are looking for
-
.nib files showing up as folders
I have all the developer tools installed but all my .nib files show up as folders in finder. It's a pain in the a$$ to keep having to drag these things to the dock to get them to open. How do I get them to show up as interface builder files? --Much T
-
I have a IMAC 24" WITH VIDEO BOARD PROBLEM.
YEAR 2007 WEEK 12th. S/N CK******VGP. Apple told me that this model is VINTAGE so i can't find a new VIDEO BOARD. Is it true? where can i buy it? Thanks a lot. Gio <Edited by Host>
-
CloudKeychainProxy errors in log
In the system log, I see these errors every 15 seconds: 05.04.15 13:22:18.603 CloudKeychainProxy[375]: __39-[UbiqitousKVSProxy doSyncWithAllPeers]_block_invoke_2 <UB--s--C---> syncWithAllPeers (null), rescheduling timer 05.04.15 13:22:33.602 secd[28
-
How do I sync my iphone phone to my new car
please let me know, the dealership says it will only show first few contacts in phonebook.............
-
I have always used Firefox on my MacBook Air. But since updating to the latest version of Firefox (7.0.1), it freezes as soon as I open it - there is a constantly running "Connecting..." message, and the little circle turns continuously, and there is