Platforms to show: All Mac Windows Linux Cross-Platform

Back to CDBaseChartMBS class.

Previous items

CDBaseChartMBS.RGB(r as Integer, g as Integer, b as Integer, a as Integer = 0) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 8.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Creates a RGB color.

CDBaseChartMBS.SelectItemFilter(item as Integer) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 8.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Creates a data filter that matches the specified item.

This method is typically used in Axis.setMultiFormat and Axis.setMultiFormat2 to select a specific element for special formatting.
ArgumentDefaultDescription
item(Mandatory)The index of the specified item.
Return Value
An integer filter id representing the filter.

CDBaseChartMBS.SetFontSearchPath(path as folderitem)

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 14.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Sets the font search path.
Example
dim FontFolder as folderitem = SpecialFolder.Desktop.Child("fonts")
CDBaseChartMBS.SetFontSearchPath FontFolder

This method can be used to configure the font search path. You may set your own font search path, or add additional search path before or after the default search path. The usage us like:

CDBaseChartMBS.setFontSearchPath("myPath1;myPath2;%PATH%;myPath3;myPath4");

In the above %PATH% (case sensitive) represents the default search path. This method must be called before the ChartDirector font system is used. It is suggested it be called before any ChartDirector methods. Once ChartDirector tries to look for the fonts (eg. to get font metrics so as to layout a chart), the search path cannot be changed without restarting the process.

e.g. if you use ubuntu, you can install the ttf-mscorefonts-installer package and call this method with "/usr/share/fonts/truetype/msttcorefonts" as the path. No backslash on the end of a path, please.

See also:

CDBaseChartMBS.SetFontSearchPath(path as string)

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 9.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Sets the font search path.
Example
if TargetLinux then
CDBaseChartMBS.SetFontSearchPath "/usr/share/fonts/truetype;/usr/share/fonts/truetype/msttcorefonts"
else
// on Mac and Windows we use system fonts.
end if

This method can be used to configure the font search path. You may set your own font search path, or add additional search path before or after the default search path. The usage us like:

CDBaseChartMBS.setFontSearchPath("myPath1;myPath2;%PATH%;myPath3;myPath4");

In the above %PATH% (case sensitive) represents the default search path. This method must be called before the ChartDirector font system is used. It is suggested it be called before any ChartDirector methods. Once ChartDirector tries to look for the fonts (eg. to get font metrics so as to layout a chart), the search path cannot be changed without restarting the process.

e.g. if you use ubuntu, you can install the ttf-mscorefonts-installer package and call this method with "/usr/share/fonts/truetype/msttcorefonts" as the path. No backslash on the end of a path, please.

See also:

CDBaseChartMBS.setLicenseCode(n as string, enddate as Integer, v1 as Integer, v2 as Integer)

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 8.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Registeres the chartdirector plugin and library.

CDBaseChartMBS.setResourceGlobal(id as string, data as MemoryBlock)

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 18.5 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Assigns a resource ID to a memory block to allow it to be referenced using a resource path.

Many ChartDirector features, such as BaseChart.setBgImage and the <*img*> tag in CDML, expect a file or resource path for loading an image. If the image happens to be in memory, such as if the image is retrieved from a database, setResource can be used to assign a resource ID to the memory. It can then be referenced using "@/res_id", in which res_id is the resource ID.

This method stores only a pointer to the memory. It does not copy the memory. You must ensure the memory contains valid content for as long as the resource is being used.

ArgumentDefaultDescription
id(Mandatory)The resource ID to be used to reference the memory image.
data(Mandatory)The memory that the image occupies.

While ChartDirector does not copy the data, the MBS Plugin will put the resources in a dictionary to make sure they stay available till the chart is destroyed and avoid a crash.

See also:

CDBaseChartMBS.setResourceGlobal(id as string, data as string)

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 18.5 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Assigns a resource ID to a memory block to allow it to be referenced using a resource path.

Many ChartDirector features, such as BaseChart.setBgImage and the <*img*> tag in CDML, expect a file or resource path for loading an image. If the image happens to be in memory, such as if the image is retrieved from a database, setResource can be used to assign a resource ID to the memory. It can then be referenced using "@/res_id", in which res_id is the resource ID.

This method stores only a pointer to the memory. It does not copy the memory. You must ensure the memory contains valid content for as long as the resource is being used.

ArgumentDefaultDescription
id(Mandatory)The resource ID to be used to reference the memory image.
data(Mandatory)The memory that the image occupies.

While ChartDirector does not copy the data, the MBS Plugin will put the resources in a dictionary to make sure they stay available till the chart is destroyed and avoid a crash.

See also:

CDBaseChartMBS.setResourceGlobal(id as string, DrawArea as CDDrawAreaMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 18.5 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Assigns a resource ID to a DrawArea object to allow it to be referenced using a resource path.

This method is the same DrawArea.setResource, except that it assigns the resource ID to a CDBaseChartMBS object instead of a memory image. This allows the CDBaseChartMBS object to be reference as an image resource using "@/res_id".

ArgumentDefaultDescription
id(Mandatory)The resource ID to be used to reference the DrawArea object.
drawArea(Mandatory)The CDDrawAreaMBS object to be used as a resource.

While ChartDirector does not copy the draw area, the MBS Plugin will put the resources in a dictionary to make sure they stay available till the chart is destroyed and avoid a crash.

See also:

CDBaseChartMBS.silverColor(angle as Integer = 90) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 8.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Creates a silver color, most commonly used as a background color.

This method is a short cut to the CDBaseChartMBS.metalColor method, using grey (CCCCCC in hex) as the base color.
ArgumentDefaultDescription
angle90The direction for brightness modulation, specified as a clockwise angle in degrees, with 0 being the upward pointing direction.
Return Value
A 32-bit integer representing the silver color.

Some examples using this method:

CDBaseChartMBS.silverGradient as Integer()

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 8.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
A constant array of integers to represent a gradient that looks like a silver color.

The array is in a format that can be directly used in BaseChart.gradientColor2 and DrawArea.gradientColor2. Its contents (in hex) is:

00 C8C8C8 60 F8F8F8 B0 E0E0E0 100 C8C8C8
See Color Specification on how colors are represented in ChartDirector.

CDBaseChartMBS.softLighting(direction as Integer = 8, raisedEffect as Integer = 4) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 8.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
A special shading effect that looks like gradient coloring.

This effect is best explained by viewing the examples.

ExampleLocation of lighting effect
Soft Multi-Bar ChartThe bars are shaded using soft lighting effect, with light direction from Top, and raised effect of 4 pixels.
Soft Bar ShadingThe bars are shaded using soft lighting effect, with light direction from Left, and raised effect of 4 pixels.
Spline Line ChartThe title is shaded using soft lighting effect, with light direction from Right, and raised effect of 4 pixels.

The softLighting method returns an integer representing this effect. The integer can be used as the third argument to Box.setBackground to apply the effect it objects derived from Box (such as labels and titles represented by TextBox). It may also be used as the second argument to Layer.setBorderColor for BarLayer objects to apply the effect to bars.
ArgumentDefaultDescription
directionTopThe direction of the lighting, which must be one of the predefined constants Top, Bottom, Right or Left.
raisedEffect4With soft lighting effect, the object will appear to have some 3D depth. The raisedEffect argument controls the amount of 3D depth in pixels.
Return Value
An integer representing the soft lighting effect.

Some examples using this method:

Special Values

CDBaseChartMBS.kDataBound as Double

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 12.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
One of the special constants.

A constant equals to -1.7E-100 to represent that the interpolated z values should not exceed the minimum or maximum values of the original data.
This constant is used in ContourLayer.setZBounds.

CDBaseChartMBS.kLinearTick as Double

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 9.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
One of the special constants.

A constant equals to +1.5E+308 to represent that the ticks in a log scale axis should be 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 style increments.

CDBaseChartMBS.kLogTick as Double

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 8.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
One of the special constants.

A constant equals to +1.6e308 to represent that the ticks in a log scale axis should be 1 - 2 - 5 - 10 style increments.
This constant is used in Axis.setLogScale.

CDBaseChartMBS.kMicroTickOnly as Double

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 8.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
One of the special constants.

A constant equals to -1.6e308 to represent that the label position should contain a micro tick only.
This constant is used in Axis.setLabels and BaseMeter.setScale.

CDBaseChartMBS.kMinorTickOnly as Double

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 8.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
One of the special constants.

A constant equals to -1.7e308 to represent that the label position should contain a minor tick only.
This constant is used in Axis.setLabels.

CDBaseChartMBS.kTickInc as Double

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 9.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
One of the special constants.

A constant equals to +1E+200 to represent the distance between major ticks.
This constant is used in CDAxisMBS.setLogScale.

CDBaseChartMBS.kTouchBar as Double

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 8.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
One of the special constants.

A constant equals to -1.7e-100 to represent that the bars in a bar layer should touch each others with no gap in between.
This constant is used in BarLayer.setBarGap.

Some examples using this method:

CDBaseChartMBS.StarShape(slide as Integer) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 8.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Gets the shape id that represents a star shape.

Please refer to Shape Specification for samples and more information on using shapes in ChartDirector.
ArgumentDefaultDescription
side(Mandatory)The number of points the polygon has.
Return Value
An integer shape id representing the star shape.

Some examples using this method:

CDBaseChartMBS.StartOfDayFilter(labelStep as Integer = 1, initialMargin as Double = 0.05) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 8.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Creates a data filter that matches date/times that represent the start of a new day in a date/time series.

This method is typically used in Axis.setMultiFormat and Axis.setMultiFormat2 to select specific dates/times for formatting as axis labels.

In a date/time series, an element is considered that start of a new day if it is of a different day than the previous element. It does not need to be at exactly the starting instance of the day.

For the first element of the date/time series, because there is no previous element to compare with, it will be considered as the start of a new day if it is "near" the exact starting instance of the current day, in which "near" is defined using the initialMargin argument, expressed as a ratio (0 to 1) of the day duration.
ArgumentDefaultDescription
labelStep1For dates/times that matches the start of day criteria, picks only 1 out of every "labelStep" number of elements. For example, if this argument is 3, only 1 of every 3 elements that at at the start of day will be selected.
initialMargin0.05If the first label is "near" the exact starting instance of the current day to within the ratio specified in the initial margin, it will be considered to have matched the start of day criteria.
Return Value
An integer filter id representing the filter.

Some examples using this method:

CDBaseChartMBS.StartOfHourFilter(labelStep as Integer = 1, initialMargin as Double = 0.05) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 8.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Creates a data filter that matches date/times that represent the start of a new hour in a date/time series.

This method is typically used in Axis.setMultiFormat and Axis.setMultiFormat2 to select specific dates/times for formatting as axis labels.

In a date/time series, an element is considered that start of a new hour if it is of a different hour than the previous element. It does not need to be at exactly the starting instance of the hour.

For the first element of the date/time series, because there is no previous element to compare with, it will be considered as the start of a new hour if it is "near" the exact starting instance of the current hour, in which "near" is defined using the initialMargin argument, expressed as a ratio (0 to 1) of the hour duration.
ArgumentDefaultDescription
labelStep1For dates/times that matches the start of hour criteria, picks only 1 out of every "labelStep" number of elements. For example, if this argument is 3, only 1 of every 3 elements that at at the start of hour will be selected.
initialMargin0.05If the first label is "near" the exact starting instance of the current hour to within the ratio specified in the initial margin, it will be considered to have matched the start of hour criteria.
Return Value
An integer filter id representing the filter.

CDBaseChartMBS.StartOfMinuteFilter(labelStep as Integer = 1, initialMargin as Double = 0.05) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 15.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Creates a data filter that matches date/times that represent the start of a new minute in a date/time series.

This method is typically used in Axis.setMultiFormat and Axis.setMultiFormat2 to select specific dates/times for formatting as axis labels.

In a date/time series, an element is considered that start of a new minute if it is of a different minute than the previous element. It does not need to be at exactly the starting instance of the minute.

For the first element of the date/time series, because there is no previous element to compare with, it will be considered as the start of a new minute if it is "near" the exact starting instance of the current minute, in which "near" is defined using the initialMargin argument, expressed as a ratio (0 to 1) of the minute duration.

ArgumentDefaultDescription
labelStep1For dates/times that matches the start of minute criteria, picks only 1 out of every "labelStep" number of elements. For example, if this argument is 3, only 1 of every 3 elements that at at the start of minute will be selected.
initialMargin0.05If the first label is "near" the exact starting instance of the current minute to within the ratio specified in the initial margin, it will be considered to have matched the start of minute criteria.

Returns an integer filter id representing the filter.

CDBaseChartMBS.StartOfMonthFilter(labelStep as Integer = 1, initialMargin as Double = 0.05) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 8.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Creates a data filter that matches date/times that represent the start of a new month in a date/time series.

This method is typically used in Axis.setMultiFormat and Axis.setMultiFormat2 to select specific dates/times for formatting as axis labels.

In a date/time series, an element is considered that start of a new month if it is of a different month than the previous element. It does not need to be at exactly the starting instance of the month.

For the first element of the date/time series, because there is no previous element to compare with, it will be considered as the start of a new month if it is "near" the exact starting instance of the current month, in which "near" is defined using the initialMargin argument, expressed as a ratio (0 to 1) of the month duration.
ArgumentDefaultDescription
labelStep1For dates/times that matches the start of month criteria, picks only 1 out of every "labelStep" number of elements. For example, if this argument is 3, only 1 of every 3 elements that at at the start of month will be selected.
initialMargin0.05If the first label is "near" the exact starting instance of the current month to within the ratio specified in the initial margin, it will be considered to have matched the start of month criteria.
Return Value
An integer filter id representing the filter.

Some examples using this method:

CDBaseChartMBS.StartOfSecondFilter(labelStep as Integer = 1, initialMargin as Double = 0.05) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 15.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Creates a data filter that matches date/times that represent the start of a new second in a date/time series.

This method is typically used in Axis.setMultiFormat and Axis.setMultiFormat2 to select specific dates/times for formatting as axis labels.

In a date/time series, an element is considered that start of a new second if it is of a different second than the previous element. It does not need to be at exactly the starting instance of the second.

For the first element of the date/time series, because there is no previous element to compare with, it will be considered as the start of a new second if it is "near" the exact starting instance of the current second, in which "near" is defined using the initialMargin argument, expressed as a ratio (0 to 1) of the second duration.

ArgumentDefaultDescription
labelStep1For dates/times that matches the start of second criteria, picks only 1 out of every "labelStep" number of elements. For example, if this argument is 3, only 1 of every 3 elements that at at the start of second will be selected.
initialMargin0.05If the first label is "near" the exact starting instance of the current second to within the ratio specified in the initial margin, it will be considered to have matched the start of second criteria.

Returns an integer filter id representing the filter.

CDBaseChartMBS.StartOfWeekFilter(labelStep as Integer = 1, initialMargin as Double = 0.05) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 8.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Creates a data filter that matches date/times that represent the start of a new week in a date/time series.

This method is typically used in Axis.setMultiFormat and Axis.setMultiFormat2 to select specific dates/times for formatting as axis labels.

In a date/time series, an element is considered that start of a new week if it is of a different week than the previous element. It does not need to be at exactly the starting instance of the week.

For the first element of the date/time series, because there is no previous element to compare with, it will be considered as the start of a new week if it is "near" the exact starting instance of the current week, in which "near" is defined using the initialMargin argument, expressed as a ratio (0 to 1) of the week duration.
ArgumentDefaultDescription
labelStep1For dates/times that matches the start of week criteria, picks only 1 out of every "labelStep" number of elements. For example, if this argument is 3, only 1 of every 3 elements that at at the start of week will be selected.
initialMargin0.05If the first label is "near" the exact starting instance of the current week to within the ratio specified in the initial margin, it will be considered to have matched the start of week criteria.
Return Value
An integer filter id representing the filter.

CDBaseChartMBS.StartOfYearFilter(labelStep as Integer = 1, initialMargin as Double = 0.05) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 8.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Creates a data filter that matches date/times that represent the start of a new year in a date/time series.

This method is typically used in Axis.setMultiFormat and Axis.setMultiFormat2 to select specific dates/times for formatting as axis labels.

In a date/time series, an element is considered that start of a new year if it is of a different year than the previous element. It does not need to be at exactly the starting instance of the year.

For the first element of the date/time series, because there is no previous element to compare with, it will be considered as the start of a new year if it is "near" the exact starting instance of the current year, in which "near" is defined using the initialMargin argument, expressed as a ratio (0 to 1) of the year duration.
ArgumentDefaultDescription
labelStep1For dates/times that matches the start of year criteria, picks only 1 out of every "labelStep" number of elements. For example, if this argument is 3, only 1 of every 3 elements that at at the start of year will be selected.
initialMargin0.05If the first label is "near" the exact starting instance of the current year to within the ratio specified in the initial margin, it will be considered to have matched the start of year criteria.
Return Value
An integer filter id representing the filter.

Some examples using this method:

CDBaseChartMBS.testFont(font as string, fontIndex as Integer, fontHeight as Double, fontWidth as Double, angle as Double, byref buffer as string) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 8.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
A diagnostic function to perform a font loading test.
Example
dim buffer as string
call CDBaseChartMBS.testFont("arial.ttf", 0, 12, 12, 0, buffer)
MsgBox buffer

From experience, the most common issue for font loading is unable to access server side fonts using anonymous user account for a web application, probably due to security restrictions. This diagnostic function can return the cause of problem to aid trouble-shooting.

Other uses of this function is to trace out where does ChartDirector search for the fonts, and the substitution font in case the request font is not available.
ArgumentDefaultDescription
font(Mandatory)The font name. See Font Specification for details on various font attributes.
fontIndex(Mandatory)The font index if the font name refers to a font collection. An index of 0 means the first font.
fontHeight(Mandatory)The font height in points. This parameter will not affect font loading if the exact font exists, but will affect which substitution font to use if the font does not exist.
fontWidth(Mandatory)The font width in points. This parameter will not affect font loading if the exact font exists, but will affect which substitution font to use if the font does not exist.
angle(Mandatory)The rotation angle of the text. The angle is measured in degrees in clockwise direction. This parameter will not affect font loading if the exact font exists, but will affect which substitution font to use if the font does not exist.
buffer(Mandatory)A string to hold the result of the font loading test.

See font specification here:
http://www.monkeybreadsoftware.net/faq-chartdirectorfontspecification.shtml

CDBaseChartMBS.transparentPalette as Integer()

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 12.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Returns the default transparent palette.

CDBaseChartMBS.whiteOnBlackPalette as Integer()

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 12.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Returns the default white on black palette.

Some examples using this method:

CDBaseChartMBS.xySize(x as Integer, y as Integer) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method ChartDirector MBS ChartDirector Plugin 21.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Encode width and height into a single number to be used as size.

This is intended to be used in certain ChartDirector API that that supports the encoded value.

ArgumentDefaultDescription
width(Mandatory)An integer between 0 and 30000.
height(Mandatory)An integer between 0 and 30000.

Returns a number that encodes the width and height.

Previous items

The items on this page are in the following plugins: MBS ChartDirector Plugin.


The biggest plugin in space...